11#include "dawn/io/common.hxx"
12#include "dawn/porting/config.hxx"
28 IO_CONFIG_CFG_FIRST = 0,
29 IO_CONFIG_CFG_ALLOC = 1,
30 IO_CONFIG_CFG_OBJCFG = 2,
31 IO_CONFIG_CFG_OFFSET = 3,
32 IO_CONFIG_CFG_SIZE = 4,
33 IO_CONFIG_CFG_LAST = 31
46#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
96 IO_CONFIG_CFG_OBJCFG);
112 IO_CONFIG_CFG_OFFSET);
125 std::map<uint32_t, CObject *>
map;
Descriptor wrapper for individual object configuration.
Template helper for creating ObjectIDs for I/O types without timestamp support.
static SObjectId::ObjectId create(uint16_t inst)
Create ObjectID with fixed data type and no timestamp.
Base class for all I/O objects.
@ IO_CLASS_CONFIG
Configuration I/O.
Configuration I/O for runtime object management.
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
int deinit()
De-initialize object.
std::map< uint32_t, CObject * > map
Map of object ID to bound CObject pointers.
int setDataImpl(IODataCmn &data)
Set data implementation (override in derived classes).
int configure()
Configure object from descriptor data.
bool isNotify() const
Check if IO supports notifications.
size_t getDataSize() const
Get data size in bytes.
size_t getDataDim() const
Get data vector dimension.
bool isRead() const
Check if IO supports read operations.
bool isWrite() const
Check if IO supports write operations.
bool isBatch() const
Check if IO supports batch operations.
Base class for all Dawn objects (IOs, Programs, Protocols).
static ObjectCfgId objectCfg(uint8_t type, uint16_t cls, uint8_t dtype, bool rw, uint16_t size, uint8_t id)
Construct 32-bit ConfigID from component fields.
uint32_t ObjectCfgId
ConfigID type - single 32-bit value.
Out-of-tree user-extension hooks for Dawn.
Base interface for I/O data buffers (static and dynamic).
@ OBJTYPE_IO
Input/Output object type.
EObjectDataType
Data types supported by Dawn framework.
@ DTYPE_UINT32
Unsigned 32-bit integer (0 to 4294967295).
uint32_t ObjectId
ObjectID type - single 32-bit value.