rodecomp/Source/Client/Browser/BrowserClientSite.h
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

35 lines
1.4 KiB
C++

#ifndef RAGNAROK_SOURCE_CLIENT_BROWSER_BROWSERCLIENTSITE_H
#define RAGNAROK_SOURCE_CLIENT_BROWSER_BROWSERCLIENTSITE_H
#include "Client/Browser/BrowserCommandTarget.h"
#include "Client/Browser/BrowserDocumentUI.h"
#include "Client/Browser/BrowserInPlace.h"
#include "Client/Browser/BrowserPopupDispatch.h"
class BrowserClientSite final : public IOleClientSite {
public:
BrowserClientSite(HWND window, IUnknown& browser, BrowserFactory& factory, const int& width, const int& height);
~BrowserClientSite();
BrowserClientSite(const BrowserClientSite&) = delete;
BrowserClientSite& operator=(const BrowserClientSite&) = delete;
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void** output) override;
ULONG STDMETHODCALLTYPE AddRef() override;
ULONG STDMETHODCALLTYPE Release() override;
HRESULT STDMETHODCALLTYPE SaveObject() override;
HRESULT STDMETHODCALLTYPE GetMoniker(DWORD assign, DWORD which, IMoniker** moniker) override;
HRESULT STDMETHODCALLTYPE GetContainer(IOleContainer** container) override;
HRESULT STDMETHODCALLTYPE ShowObject() override;
HRESULT STDMETHODCALLTYPE OnShowWindow(BOOL show) override;
HRESULT STDMETHODCALLTYPE RequestNewObjectLayout() override;
private:
HWND m_window;
IUnknown* m_browser;
BrowserPopupDispatch m_events;
BrowserInPlaceSite m_inPlace;
BrowserDocumentUI m_documentUI;
BrowserCommandTarget m_commands;
};
#endif