Commit Graph
10 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Sonnet 5 21b7ce7392 Expose EventFlag/Mutex/Semaphore/MsgPipe/Callback in their headers
These KernelObject subclasses (and their Native* status structs) were
private implementation details of their respective .cpp files. Move them
into the matching .h instead, so external code - specifically the upcoming
WebSocket kernel-object introspection endpoints - can read a live object's
state directly via kernelObjects.Get<T>()/Iterate<T>(), the same way
PSPModule/PSPThread already can. Read-only by convention: nothing outside
each file should call DoState() or otherwise mutate these; the fields are
public here for that file's own pre-existing use, not an invitation to
write from elsewhere.

To avoid pulling each type's full dependency set (Memory::, BlockAllocator,
CoreTiming, HLEKernel::...) into headers many other files include, non-trivial
method bodies (DoState, and MsgPipe's buffer/wait-list management) are
declared in the header but still defined out-of-line in the .cpp, same as
before - only genuinely trivial one-liners went inline.

KernelObjectPool also gains IterateAll(), a type-agnostic sibling of the
existing Iterate<T>() - walks every live kernel object regardless of type,
for a coarse "what's alive right now" overview.

No behavior change - this is a pure visibility/declaration-vs-definition
move, not new functionality. That lands in a follow-up commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-17 16:01:23 +02:00
Unknown W. Brackets 4f7f963274 Correct sceKernelReferMsgPipeStatus(). 2013-08-18 18:45:43 -07:00
Unknown W. Brackets e2f0dfe243 Wrap sceKernelReceiveMsgPipe() and friends. 2013-08-18 18:38:14 -07:00
Unknown W. Brackets 4be06d2432 Wrap the msgpipe send functions. 2013-08-18 18:38:10 -07:00
Unknown W. Brackets b9a71640eb Implement basic timeouts for msg pipes. 2013-08-18 18:38:08 -07:00
Unknown W. Brackets fa73875c98 Clean up cancel and delete for msgpipes. 2013-08-18 18:38:07 -07:00
Unknown W. Brackets 666cee4f6a Fix sceKernelCreateMsgPipe() and alloc psp memory.
Might not matter, but I'm not sure yet if it's expoesd somewhere.
2013-08-18 18:38:05 -07:00
Unknown W. Brackets 595759ef78 Implement a factory for kernel objects.
Couldn't think of a better way to do this, maybe there's some fancy
one I don't know about.

Also finished up a couple left over kernel objects.

Maybe a quarter the way there?
2012-12-28 13:55:22 -08:00
Henrik Rydgard 64cc573703 Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
Henrik Rydgard 4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00