LeviLamina
Loading...
Searching...
No Matches
Extension.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace Json { class Value; }
8// clang-format on
9
10namespace Webview {
11
12struct Extension {
13public:
14 // virtual functions
15 // NOLINTBEGIN
16 virtual ~Extension() = default;
17
18 virtual void
19 setupMessageSender(::std::function<void(::std::string, ::std::string, ::std::string)> messageSender) = 0;
20
21 virtual bool shouldProcessMessage(::std::string const& functionNamespace, ::std::string const& func) = 0;
22
23 virtual bool onMessageReceived(::std::string const&, ::std::string const&, ::std::optional<::Json::Value>) = 0;
24
25 virtual bool isShutdownInProgress();
26
27 virtual void onShutdown();
28
29 virtual void onLoadingBegin(::std::function<void(::std::string)> handler);
30 // NOLINTEND
31
32public:
33 // virtual function thunks
34 // NOLINTBEGIN
35#ifdef LL_PLAT_C
36 MCNAPI bool $isShutdownInProgress();
37
38 MCNAPI void $onShutdown();
39#endif
40
41
42 // NOLINTEND
43};
44
45} // namespace Webview
Definition Value.h:16
Definition Extension.h:12