|
Dawn Framework 1.0
Universal data acquisition framework for embedded systems
|
Descriptor wrapper for individual object configuration. More...
#include <descobject.hxx>
Public Member Functions | |
| CDescObject (SObjectCfg::SObjectCfgData &cfg) | |
| Construct CDescObject from raw descriptor pointer. | |
| CDescObject (uint32_t *cfg) | |
| Construct CDescObject from raw descriptor pointer. | |
| ~CDescObject ()=default | |
| Destructor. | |
| uint32_t | getAtOffset (size_t offset) const |
| Get 32-bit word at specified offset. | |
| SObjectCfg::SObjectCfgData * | getCfg () const |
| Get underlying descriptor data structure. | |
| uint16_t | getObjectCls () const |
| Get object class field. | |
| uint8_t | getObjectDtype () const |
| Get data type field. | |
| SObjectId::UObjectId & | getObjectId () const |
| Get object identifier as union structure. | |
| SObjectId::ObjectId | getObjectIdV () const |
| Get object identifier as raw 32-bit value. | |
| uint8_t | getObjectType () const |
| Get object type field. | |
| size_t | getSize () const |
| Get number of configuration items for this object. | |
| size_t | getSizeBytes () const |
| Get total size in bytes for this object definition. | |
| SObjectCfg::SObjectCfgItem * | objectCfgItemAtOffset (size_t offset) const |
| Get configuration item at specified offset. | |
| SObjectCfg::SObjectCfgItem * | objectCfgItemId (SObjectCfg::ObjectCfgId id) const |
| Get configuration item with specified ConfigID. | |
| SObjectCfg::SObjectCfgItem * | objectCfgItemNext (size_t &offset) const |
| Get config item at current offset and advance past it. | |
Descriptor wrapper for individual object configuration.
Provides convenient access to object configuration data stored in a descriptor binary.
Definition at line 21 of file descobject.hxx.
|
inlineexplicit |
Construct CDescObject from raw descriptor pointer.
Wraps raw 32-bit pointer to descriptor data.
| cfg | Reference to SObjectCfgData in descriptor. |
Definition at line 32 of file descobject.hxx.
|
inlineexplicit |
Construct CDescObject from raw descriptor pointer.
Wraps raw 32-bit pointer to descriptor data.
| cfg | Pointer to descriptor data (32-bit word pointer). |
Definition at line 46 of file descobject.hxx.
| uint32_t CDescObject::getAtOffset | ( | size_t | offset | ) | const |
Get 32-bit word at specified offset.
Convenient accessor for reading a single 32-bit word from object's descriptor data.
| offset | Offset in 32-bit words from object start. |
Definition at line 71 of file descobject.cxx.
| SObjectCfg::SObjectCfgData * CDescObject::getCfg | ( | ) | const |
Get underlying descriptor data structure.
Returns pointer to raw SObjectCfgData in descriptor.
Definition at line 37 of file descobject.cxx.
| uint16_t CDescObject::getObjectCls | ( | ) | const |
Get object class field.
Extracts class identifier from object ID.
Definition at line 22 of file descobject.cxx.
References dawn::SObjectId::UObjectId::cls, dawn::SObjectCfg::SObjectCfgData::objid, and dawn::SObjectId::UObjectId::s.
| uint8_t CDescObject::getObjectDtype | ( | ) | const |
Get data type field.
Extracts data type from object ID.
Definition at line 32 of file descobject.cxx.
References dawn::SObjectId::UObjectId::dtype, dawn::SObjectCfg::SObjectCfgData::objid, and dawn::SObjectId::UObjectId::s.
| SObjectId::UObjectId & CDescObject::getObjectId | ( | ) | const |
Get object identifier as union structure.
Returns the complete object ID with access to bit fields (type, class, dtype, flags, instance).
Definition at line 12 of file descobject.cxx.
References dawn::SObjectCfg::SObjectCfgData::objid.
| SObjectId::ObjectId CDescObject::getObjectIdV | ( | ) | const |
Get object identifier as raw 32-bit value.
Returns complete object ID as single 32-bit value.
Definition at line 17 of file descobject.cxx.
References dawn::SObjectCfg::SObjectCfgData::objid, and dawn::SObjectId::UObjectId::v.
| uint8_t CDescObject::getObjectType | ( | ) | const |
Get object type field.
Extracts type from object ID.
Definition at line 27 of file descobject.cxx.
References dawn::SObjectCfg::SObjectCfgData::objid, dawn::SObjectId::UObjectId::s, and dawn::SObjectId::UObjectId::type.
| size_t CDescObject::getSize | ( | ) | const |
Get number of configuration items for this object.
Returns count of configuration items stored in descriptor for this object.
Definition at line 61 of file descobject.cxx.
References dawn::SObjectCfg::SObjectCfgData::size.
| size_t CDescObject::getSizeBytes | ( | ) | const |
Get total size in bytes for this object definition.
Returns the complete size of object definition in descriptor, including object metadata and all configuration items/data.
Definition at line 66 of file descobject.cxx.
| SObjectCfg::SObjectCfgItem * CDescObject::objectCfgItemAtOffset | ( | size_t | offset | ) | const |
Get configuration item at specified offset.
Retrieves configuration item at given offset within object.
| offset | Offset in 32-bit words from object start. |
Definition at line 42 of file descobject.cxx.
References dawn::SObjectCfg::SObjectCfgData::items.
| SObjectCfg::SObjectCfgItem * CDescObject::objectCfgItemId | ( | SObjectCfg::ObjectCfgId | id | ) | const |
Get configuration item with specified ConfigID.
Searches configuration items for matching ConfigID and returns it.
| id | ConfigID to search for. |
Definition at line 56 of file descobject.cxx.
References dawn::SObjectCfg::objectCfgFromCfgId().
| SObjectCfg::SObjectCfgItem * CDescObject::objectCfgItemNext | ( | size_t & | offset | ) | const |
Get config item at current offset and advance past it.
Returns the item at offset, then atomically advances offset by 1 (cfgid header word) plus item->cfgid.s.size (data words), so offset points to the next config item on return. Use item->data[] to access the item's payload without a separate pointer lookup.
| offset | Current word offset; updated in-place to point past this item on return. |
Definition at line 49 of file descobject.cxx.
References dawn::SObjectCfg::SObjectCfgItem::cfgid, objectCfgItemAtOffset(), dawn::SObjectCfg::UObjectCfgId::s, and dawn::SObjectCfg::UObjectCfgId::size.