LeviLamina
Loading...
Searching...
No Matches
Watchdog.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/runtime/watchdog/scripting/IWatchdog.h"
7
8// auto generated forward declare list
9// clang-format off
10struct JSContext;
11namespace Scripting { struct ContextId; }
12namespace Scripting { struct WatchdogEvent; }
13namespace Scripting::QuickJS { class ContextTimings; }
14// clang-format on
15
16namespace Scripting::QuickJS {
17
18class Watchdog : public ::Scripting::IWatchdog {
19public:
20 // member variables
21 // NOLINTBEGIN
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 Watchdog& operator=(Watchdog const&);
38 Watchdog(Watchdog const&);
39 Watchdog();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~Watchdog() /*override*/ = default;
45
46 virtual void
47 setWatchdogEventHandler(::std::function<void(::Scripting::WatchdogEvent)> watchdogEventHandler) /*override*/;
48
49 virtual void setWatchdogInterruptPollCounter(uint counter) /*override*/;
50
51 virtual void beginTiming(::Scripting::ContextId contextId) /*override*/;
52
53 virtual void endTiming(::Scripting::ContextId contextId) /*override*/;
54
55 virtual void pushPhase(::std::string const& namedPhase, ::std::chrono::microseconds frameBaseLine) /*override*/;
56
57 virtual void popPhase() /*override*/;
58
59 virtual void endFrame() /*override*/;
60
61 virtual void resetTimings() /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI ::Scripting::QuickJS::ContextTimings& _getOrCreateContextTime(::Scripting::ContextId contextId);
68 // NOLINTEND
69
70public:
71 // static functions
72 // NOLINTBEGIN
73 MCNAPI static void _outOfMemoryHandler(::JSContext* ctx, void* runtimeOpaque);
74
75 MCNAPI static int _stackOverflowHandler(::JSContext* ctx, void* runtimeOpaque);
76
77 MCNAPI static int _timeoutHandler(::JSContext* ctx, void* runtimeOpaque);
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCNAPI void $setWatchdogEventHandler(::std::function<void(::Scripting::WatchdogEvent)> watchdogEventHandler);
84
85 MCNAPI void $setWatchdogInterruptPollCounter(uint counter);
86
87 MCNAPI void $beginTiming(::Scripting::ContextId contextId);
88
89 MCNAPI void $endTiming(::Scripting::ContextId contextId);
90
91 MCNAPI void $pushPhase(::std::string const& namedPhase, ::std::chrono::microseconds frameBaseLine);
92
93 MCNAPI void $popPhase();
94
95 MCNAPI void $endFrame();
96
97 MCNAPI void $resetTimings();
98
99
100 // NOLINTEND
101};
102
103} // namespace Scripting::QuickJS
Definition IWatchdog.h:13
Definition ContextTimings.h:7
MCAPI void $endTiming(::Scripting::ContextId contextId)
MCAPI void $setWatchdogInterruptPollCounter(uint counter)
MCAPI void $beginTiming(::Scripting::ContextId contextId)
MCAPI void $pushPhase(::std::string const &namedPhase, ::std::chrono::microseconds frameBaseLine)
MCAPI void $setWatchdogEventHandler(::std::function< void(::Scripting::WatchdogEvent)> watchdogEventHandler)
static MCAPI int _timeoutHandler(::JSContext *ctx, void *runtimeOpaque)
MCAPI::Scripting::QuickJS::ContextTimings & _getOrCreateContextTime(::Scripting::ContextId contextId)
static MCAPI void _outOfMemoryHandler(::JSContext *ctx, void *runtimeOpaque)
static MCAPI int _stackOverflowHandler(::JSContext *ctx, void *runtimeOpaque)
Definition JSContext.h:5
Definition ContextId.h:7
Definition WatchdogEvent.h:7
Definition ctx.h:5
Definition Alias.h:14