From 462bf310761f90d7dcb26978436d174ec831b8fc Mon Sep 17 00:00:00 2001 From: Rodrigo Todescatto <90097545+Rodrigo-Todescatto@users.noreply.github.com> Date: Mon, 14 Oct 2024 16:30:41 -0300 Subject: [PATCH] Implemented some IFrameworkView stuff. --- dlls/kernelx/CoreApplicationX.cpp | 30 ++++++++++++++++++++++++++++++ dlls/kernelx/CoreApplicationX.h | 10 ++++++++++ dlls/kernelx/ICoreApplicationX.h | 6 ++++++ 3 files changed, 46 insertions(+) diff --git a/dlls/kernelx/CoreApplicationX.cpp b/dlls/kernelx/CoreApplicationX.cpp index 97b31e3..5873a80 100644 --- a/dlls/kernelx/CoreApplicationX.cpp +++ b/dlls/kernelx/CoreApplicationX.cpp @@ -118,6 +118,36 @@ INT32 CoreApplicationX::_abi_get_Properties(ABI::Windows::Foundation::Collection return m_IapplicationCore->get_Properties(value); } +INT32 CoreApplicationX::_abi_Initialize(ABI::Windows::ApplicationModel::Core::ICoreApplicationView* application) +{ + return m_IFrameworkView->Initialize(application); +} + +INT32 CoreApplicationX::_abi_SetWindow(ICoreWindow* window) +{ + return m_IFrameworkView->SetWindow(window); +} + +INT32 CoreApplicationX::_abi_Load(HSTRING string) +{ + return m_IFrameworkView->Load(string); +} + +INT32 CoreApplicationX::__abi_Run() +{ + return m_IFrameworkView->Run(); +} + +INT32 CoreApplicationX::_abi_Uninitialize() +{ + return m_IFrameworkView->Uninitialize(); +} + +INT32 CoreApplicationX::_abi_CreateView(ABI::Windows::ApplicationModel::Core::IFrameworkView** view) +{ + return m_IFrameworkViewSource->CreateView(view); +} + HRESULT CoreApplicationX::QueryInterface(const IID& riid, void** ppvObject) { return m_coreWindow->QueryInterface(riid, ppvObject); diff --git a/dlls/kernelx/CoreApplicationX.h b/dlls/kernelx/CoreApplicationX.h index 050e759..5f71522 100644 --- a/dlls/kernelx/CoreApplicationX.h +++ b/dlls/kernelx/CoreApplicationX.h @@ -17,6 +17,8 @@ public: m_applicationCoreView = reinterpret_cast(application); m_applicationCoreExit = reinterpret_cast(application); m_coreWindow = reinterpret_cast(application); + m_IFrameworkView = reinterpret_cast(application); + m_IFrameworkViewSource = reinterpret_cast(application); } public: @@ -42,6 +44,12 @@ public: INT32 Run(ABI::Windows::ApplicationModel::Core::IFrameworkViewSource* viewSource) override; INT32 _abi_get_Id(HSTRING* value) override; INT32 _abi_get_Properties(ABI::Windows::Foundation::Collections::IPropertySet** value) override; + INT32 _abi_Initialize(ABI::Windows::ApplicationModel::Core::ICoreApplicationView* application) override; + INT32 _abi_SetWindow(ICoreWindow* window) override; + INT32 _abi_Load(HSTRING string) override; + INT32 __abi_Run() override; + INT32 _abi_Uninitialize() override; + INT32 _abi_CreateView(ABI::Windows::ApplicationModel::Core::IFrameworkView** view) override; HRESULT QueryInterface(const IID& riid, void** ppvObject) override; ULONG AddRef() override; @@ -54,5 +62,7 @@ private: ABI::Windows::ApplicationModel::Core::CoreApplicationView* m_applicationCoreView; ABI::Windows::ApplicationModel::Core::ICoreApplicationExit* m_applicationCoreExit; ABI::Windows::UI::Core::ICoreWindow* m_coreWindow; + ABI::Windows::ApplicationModel::Core::IFrameworkView* m_IFrameworkView; + ABI::Windows::ApplicationModel::Core::IFrameworkViewSource* m_IFrameworkViewSource; }; \ No newline at end of file diff --git a/dlls/kernelx/ICoreApplicationX.h b/dlls/kernelx/ICoreApplicationX.h index b4a96d0..dad6799 100644 --- a/dlls/kernelx/ICoreApplicationX.h +++ b/dlls/kernelx/ICoreApplicationX.h @@ -37,6 +37,12 @@ public: virtual INT32 Run(ABI::Windows::ApplicationModel::Core::IFrameworkViewSource* viewSource) = 0; virtual INT32 _abi_get_Id(HSTRING* value) = 0; virtual INT32 _abi_get_Properties(ABI::Windows::Foundation::Collections::IPropertySet** value) = 0; + virtual INT32 _abi_Initialize(ABI::Windows::ApplicationModel::Core::ICoreApplicationView* application) = 0; + virtual INT32 _abi_SetWindow(ICoreWindow* window) = 0; + virtual INT32 _abi_Load(HSTRING string) = 0; + virtual INT32 __abi_Run() = 0; + virtual INT32 _abi_Uninitialize() = 0; + virtual INT32 _abi_CreateView(ABI::Windows::ApplicationModel::Core::IFrameworkView** view) = 0; virtual HRESULT QueryInterface(const IID& riid, void** ppvObject) override = 0; virtual ULONG AddRef() override = 0;