Dawn Framework 1.0
Universal data acquisition framework for embedded systems
bindable.hxx
1// dawn/include/dawn/common/bindable.hxx
2//
3// SPDX-License-Identifier: Apache-2.0
4//
5
6#pragma once
7
8#include <map>
9
10#include "dawn/common/object.hxx"
11
12namespace dawn
13{
14// Forward declaration
15
16class CIOCommon;
17
25{
26public:
34 : CObject(desc)
35 {
36 }
37
44 const std::map<SObjectId::ObjectId, CIOCommon *> &getIOMap() const;
45
54
63
72
73private:
81 void setIOMapItem(SObjectId::ObjectId id, CIOCommon *io);
82
85 std::map<SObjectId::ObjectId, CIOCommon *> ioMap;
86};
87} // Namespace dawn
Base object with bindable object map support.
Definition bindable.hxx:25
CObject * getObject(SObjectId::ObjectId id)
Get an object by ID.
Definition bindable.cxx:52
CIOCommon * getIO(SObjectId::ObjectId id)
Get an I/O object by ID.
Definition bindable.cxx:41
void setObjectMapItem(SObjectId::ObjectId id, CObject *obj)
Set an item in the object map.
Definition bindable.cxx:23
const std::map< SObjectId::ObjectId, CIOCommon * > & getIOMap() const
Get the I/O map for this object.
Definition bindable.cxx:18
CBindableObject(CDescObject &desc)
Construct a CBindableObject from a descriptor.
Definition bindable.hxx:33
Descriptor wrapper for individual object configuration.
Base class for all I/O objects.
Definition common.hxx:27
Base class for all Dawn objects (IOs, Programs, Protocols).
Definition object.hxx:28
Out-of-tree user-extension hooks for Dawn.
Definition bindable.hxx:13
uint32_t ObjectId
ObjectID type - single 32-bit value.
Definition objectid.hxx:44