LeviLamina
Loading...
Searching...
No Matches
Debugger.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/runtime/IDebuggerController.h"
7
8// auto generated forward declare list
9// clang-format off
10struct JSContext;
11struct JSRuntime;
12struct JSValue;
13// clang-format on
14
15namespace Scripting::QuickJS {
16
17class Debugger : public ::Scripting::IDebuggerController {
18public:
19 // member variables
20 // NOLINTBEGIN
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 Debugger& operator=(Debugger const&);
32 Debugger(Debugger const&);
33 Debugger();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~Debugger() /*override*/ = default;
39
40 virtual bool attach(
41 bool performHandshake,
42 ::std::optional<::std::string> targetModuleUuid,
43 ::std::function<void(::std::string_view)> handler
44 ) /*override*/;
45
46 virtual void detach() /*override*/;
47
48 virtual bool closed() const /*override*/;
49
50 virtual void pumpMessages() /*override*/;
51 // NOLINTEND
52
53public:
54 // static functions
55 // NOLINTBEGIN
56 MCNAPI static uint ContextToId(::JSContext* ctx, void*);
57
58 MCNAPI static char const* ContextToModuleUuidLowerCase(::JSContext* ctx, void*);
59
60 MCNAPI static void MessageHandler(void* udata, char const* message, uint64 length);
61
62 MCNAPI static void NotifyResume(void* udata);
63
64 MCNAPI static char const* ToTypeName(::JSContext* ctx, ::JSValue val);
65
66 MCNAPI static void TransportClose(::JSRuntime* rt, void* udata);
67
68 MCNAPI static uint64 TransportPeek(void* udata);
69
70 MCNAPI static uint64 TransportRead(void* udata, char* buffer, uint64 length);
71
72 MCNAPI static uint64 TransportWrite(void* udata, char const* buffer, uint64 length);
73
74 MCNAPI static int ValidatePath(void* udata, char const* path);
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCNAPI bool $attach(
81 bool performHandshake,
82 ::std::optional<::std::string> targetModuleUuid,
83 ::std::function<void(::std::string_view)> handler
84 );
85
86 MCNAPI void $detach();
87
88 MCNAPI bool $closed() const;
89
90 MCNAPI void $pumpMessages();
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
101
102} // namespace Scripting::QuickJS
Definition IDebuggerController.h:7
static MCAPI void MessageHandler(void *udata, char const *message, uint64 length)
MCAPI bool $closed() const
static MCAPI char const * ToTypeName(::JSContext *ctx, ::JSValue val)
static MCAPI int ValidatePath(void *udata, char const *path)
static MCAPI void TransportClose(::JSRuntime *rt, void *udata)
static MCAPI void NotifyResume(void *udata)
static MCAPI char const * ContextToModuleUuidLowerCase(::JSContext *ctx, void *)
static MCAPI uint64 TransportPeek(void *udata)
MCAPI bool $attach(bool performHandshake, ::std::optional<::std::string > targetModuleUuid, ::std::function< void(::std::string_view)> handler)
static MCAPI void ** $vftable()
static MCAPI uint ContextToId(::JSContext *ctx, void *)
static MCAPI uint64 TransportRead(void *udata, char *buffer, uint64 length)
static MCAPI uint64 TransportWrite(void *udata, char const *buffer, uint64 length)
Definition JSContext.h:5
Definition JSRuntime.h:8
Definition JSValue.h:5
Definition buffer.h:5
Definition ctx.h:5
Definition Alias.h:14