3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/debug/log/LogLevel.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/scripting/debugger/IScriptDebugger.h"
9#include "mc/scripting/diagnostics/IDebuggerStatPublisher.h"
21namespace Core {
class Path; }
36 enum class DebuggerMode :
int {
42 struct AutoAttachTelem {
52 AutoAttachTelem& operator=(AutoAttachTelem
const&);
53 AutoAttachTelem(AutoAttachTelem
const&);
83 ScriptDebugger& operator=(ScriptDebugger
const&);
84 ScriptDebugger(ScriptDebugger
const&);
90 virtual ~ScriptDebugger() =
default;
92 virtual ::ScriptDebuggerSettings
const& getSettings() const ;
94 virtual
bool connect(::
std::
string const& host, ushort port) ;
96 virtual
bool listen(ushort port) ;
100 virtual
void startProfiler() ;
102 virtual ::
std::vector<::Core::
Path> stopProfiler() ;
104 virtual
bool isStatPublisherEnabled() const ;
106 virtual
void publishStats(uint64 collectedTick, ::
std::vector<::
DebuggerStat> const& stats) ;
112 MCNAPI ScriptDebugger(
116 ::cereal::ReflectionCtx&
ctx,
117 ::Scripting::ScriptEngine& scriptEngine,
138 ::
std::string_view command,
139 ::
std::function<
void(::ScriptDebuggerMessages::DebuggerRequestMessage const&, ::ScriptDebugger&)> handler
145 ::
std::string_view responseMessage,
146 ::
std::optional<::cereal::DynamicValue> args
149 MCNAPI
void sendLog(::LogLevel logLevel, ::
std::string_view message);
165 ::cereal::ReflectionCtx&
ctx,
166 ::Scripting::ScriptEngine& scriptEngine,
Definition DebuggerStat.h:10
Definition IDebuggerStatPublisher.h:10
Definition IScriptDebuggerWatchdog.h:5
Definition IScriptDebugger.h:11
Definition IScriptTelemetryLogger.h:10
Definition LocalProfilerControlBroker.h:11
Definition MinecraftCommands.h:33
MCAPI::ScriptDebuggerSettings const & $getSettings() const
MCAPI void _sendNotification(::LogLevel logLevel, ::std::string_view message)
MCAPI bool $listen(ushort port)
MCAPI bool $connect(::std::string const &host, ushort port)
MCAPI::std::string _sanitizeHostName(::std::string const &host) const
MCAPI void sendDebuggeeResponse(int requestSeq, bool success, ::std::string_view responseMessage, ::std::optional<::cereal::DynamicValue > args)
MCAPI bool $isStatPublisherEnabled() const
MCAPI void $startProfiler()
MCAPI bool _trySelectTarget()
MCAPI void _debuggerMessageHandler(::std::string_view message)
MCAPI void registerDebuggerRequestHandler(::std::string_view command, ::std::function< void(::ScriptDebuggerMessages::DebuggerRequestMessage const &, ::ScriptDebugger &)> handler)
MCAPI ::std::vector<::Core::Path > $stopProfiler()
MCAPI void sendLog(::LogLevel logLevel, ::std::string_view message)
MCAPI void waitAutoAttach(::std::chrono::seconds waitDuration)
MCAPI bool _tryAttachRuntime(bool expectRuntime)
MCAPI void $publishStats(uint64 collectedTick, ::std::vector<::DebuggerStat > const &stats)
MCAPI void * $ctor(::ScriptDebuggerSettings settings, ::ServerLevel &serverLevel, ::MinecraftCommands &commands, ::cereal::ReflectionCtx &ctx, ::Scripting::ScriptEngine &scriptEngine, ::ScriptPluginManager &pluginManager, ::IScriptDebuggerWatchdog &watchdog, ::IScriptTelemetryLogger &telemetry, ::Bedrock::NonOwnerPointer<::LocalProfilerControlBroker > const &profilerControlBroker)
MCAPI void _handleDebuggerRequestMessage(::ScriptDebuggerMessages::DebuggerRequestMessage const &debuggerRequestPayload)
Definition ScriptPluginManager.h:33
Definition ScriptEngine.h:21
Definition ServerLevel.h:57
Definition DynamicValue.h:14
Definition DebuggerRequestMessage.h:11
Definition ScriptDebuggerSettings.h:8
Definition ScriptDebugger.h:42
Definition ReflectionCtx.h:11