8#include "dawn/common/generic_handler.hxx"
9#include "dawn/system/common.hxx"
10#include "dawn/system/factory.hxx"
20 : userFactory(
nullptr)
Descriptor wrapper for individual object configuration.
Binary device descriptor manager.
Template handler for object lifecycle management.
int initAll()
Run one-time init() for all configured objects.
bool hasThread() const
Check if any thread is currently running.
int stopAll()
Stop all objects managed by this handler.
int deinitAll()
De-initialize all objects managed by this handler.
T * getObjectById(const SObjectId::UObjectId &id) const
Get object by ObjectID.
int configureAll()
Configure all objects managed by this handler.
int startAll()
Start all objects managed by this handler.
Base implementation of IHandler interface.
Base class for all Dawn objects (IOs, Programs, Protocols).
Base class for OBJTYPE_ANY configuration objects.
Built-in dev object factory.
Handler for SYSTEM objects (OBJTYPE_ANY, cls != 0).
bool isObjectValid(SObjectId::UObjectId &obj) const
Validate if object ID is valid for this handler.
int startAll()
Start all objects managed by this handler.
bool hasThread() const
Check if any thread is currently running.
int deinitAll()
De-initialize all objects managed by this handler.
int stopAll()
Stop all objects managed by this handler.
CObject * getObject(const SObjectId::ObjectId id)
Get object from this handler by ID.
int initAll()
Run one-time init() for all configured objects.
const char * getObjectTypeName() const
Get object type name for logging.
Interface for user-provided dev object factories.
Out-of-tree user-extension hooks for Dawn.
static bool objectIsSystem(const UObjectId &objid)
Check if object is a System object (raw 32-bit version).
uint32_t ObjectId
ObjectID type - single 32-bit value.
32-bit encoded object identifier (union with bit field).
ObjectId v
Raw 32-bit ObjectID value (for comparison, hashing, storage).