// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. #pragma once #include "XamlApplication.g.h" #include #include #include #include namespace winrt::Microsoft::UI::Xaml::Markup::implementation { class XamlApplication : public XamlApplicationT { public: XamlApplication(); XamlApplication(winrt::Windows::UI::Xaml::Markup::IXamlMetadataProvider parentProvider); ~XamlApplication(); void Close(); winrt::Windows::UI::Xaml::Markup::IXamlType GetXamlType(winrt::Windows::UI::Xaml::Interop::TypeName const& type); winrt::Windows::UI::Xaml::Markup::IXamlType GetXamlType(winrt::hstring const& fullName); winrt::com_array GetXmlnsDefinitions(); winrt::Windows::Foundation::Collections::IVector Providers(); private: winrt::Windows::Foundation::Collections::IVector m_providers = winrt::single_threaded_vector(); bool m_bIsClosed = false; }; } namespace winrt::Microsoft::UI::Xaml::Markup::factory_implementation { class XamlApplication : public XamlApplicationT { public: XamlApplication(); ~XamlApplication(); private: std::vector m_preloadInstances; }; }