10#include "dawn/porting/config.hxx"
12#ifdef CONFIG_DAWN_INSPECT
61 if (CDevInspector::singleton ==
nullptr)
66 return CDevInspector::singleton;
78 delete CDevInspector::singleton;
79 CDevInspector::singleton =
nullptr;
230 : io_handler(nullptr)
231 , prog_handler(nullptr)
232 , proto_handler(nullptr)
Global registry for object inspection.
EHandlerType
Handler types that can be registered.
@ HANDLER_TYPE_IO
I/O handler.
@ HANDLER_TYPE_PROG
Program handler.
@ HANDLER_TYPE_MAX
Maximum handler count.
@ HANDLER_TYPE_PROTO
Protocol handler.
size_t getProtoBindings(size_t proto_index, const CObject **obj_list, size_t max_size) const
Get object bindings for PROTO object.
size_t getProtoCount() const
Get number of PROTO objects.
static void destroy()
Destroy singleton.
size_t getProgCount() const
Get number of PROG objects.
void registerProgHandler(const CProgHandler *handler)
Register PROG handler.
const CObject * getProg(size_t index) const
Get PROG object by index.
static CDevInspector * getInst()
Get singleton instance.
const CObject * findObject(uint32_t objid) const
Find object by ID.
const CIOCommon * getIO(size_t index) const
Get IO object by index.
void registerIOHandler(const CIOHandler *handler)
Register IO handler.
size_t getProgIOBindings(size_t prog_index, const CIOCommon **io_list, size_t max_size) const
Get IO bindings for PROG object.
void registerProtoHandler(const CProtoHandler *handler)
Register PROTO handler.
size_t getIOCount() const
Get number of IO objects.
const CObject * getProto(size_t index) const
Get PROTO object by index.
Base class for all I/O objects.
Manages I/O object lifecycle and dispatch.
Base class for all Dawn objects (IOs, Programs, Protocols).
Manages Programs object lifecycle and dispatch.
Manages PROTO object lifecycle and dispatch.
Out-of-tree user-extension hooks for Dawn.