mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-08-30 17:35:09 +02:00
New events, all read-only (never mutate kernel state, no cleanup/sort calls - see HLEKernelObjectSubscriber.cpp's header comment): - hle.object.list: every live kernel object of every type at once (uid, type, name, one-line quickInfo), with an optional 'type' filter. Uses KernelObjectPool::IterateAll(), a new type-agnostic sibling of the existing Iterate<T>(). - hle.eventflag.list/info, hle.mutex.list/info, hle.semaphore.list/info, hle.msgpipe.list/info, hle.callback.list/info: per-type full detail (all Native* status struct fields plus waiting-thread lists), reading straight off the classes exposed in the previous commit. Also adds JsonWriter::DictScope/ArrayScope (Common/Data/Format/JSONWriter.h) - RAII push/pop for pushDict()/pushArray(), used throughout the new handlers. A forgotten or early-returned pop() previously just produced silently malformed JSON; with 11 new handlers each writing a handful of nested arrays/dicts, that seemed worth fixing at the API level rather than trusting every call site to pair things up by hand. Existing handlers are untouched - this is purely additive. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
36 lines
1.4 KiB
C
36 lines
1.4 KiB
C
// Copyright (c) 2026- PPSSPP Project.
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, version 2.0 or later versions.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
// Official git repository and contact information can be found at
|
|
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
|
|
|
|
#pragma once
|
|
|
|
#include "Core/Debugger/WebSocket/WebSocketUtils.h"
|
|
|
|
DebuggerSubscriber *WebSocketHLEKernelObjectInit(DebuggerEventHandlerMap &map);
|
|
|
|
void WebSocketHLEObjectList(DebuggerRequest &req);
|
|
|
|
void WebSocketHLEEventFlagList(DebuggerRequest &req);
|
|
void WebSocketHLEEventFlagInfo(DebuggerRequest &req);
|
|
void WebSocketHLEMutexList(DebuggerRequest &req);
|
|
void WebSocketHLEMutexInfo(DebuggerRequest &req);
|
|
void WebSocketHLESemaphoreList(DebuggerRequest &req);
|
|
void WebSocketHLESemaphoreInfo(DebuggerRequest &req);
|
|
void WebSocketHLEMsgPipeList(DebuggerRequest &req);
|
|
void WebSocketHLEMsgPipeInfo(DebuggerRequest &req);
|
|
void WebSocketHLECallbackList(DebuggerRequest &req);
|
|
void WebSocketHLECallbackInfo(DebuggerRequest &req);
|