Dawn Framework 1.0
Universal data acquisition framework for embedded systems
systime.hxx
1// dawn/include/dawn/io/systime.hxx
2//
3// SPDX-License-Identifier: Apache-2.0
4//
5
6#pragma once
7
8#include "dawn/io/common.hxx"
9
10namespace dawn
11{
14class CIOSystime : public CIOCommon
15{
16public:
17 explicit CIOSystime(CDescObject &desc)
18 : CIOCommon(desc)
19 {
20 }
21
22 ~CIOSystime() override = default;
23
24#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
25 const char *getClassNameStr() const override
26 {
27 return "systime";
28 }
29#endif
30
31 int init() override;
32 int getDataImpl(IODataCmn &data, size_t len) override;
33 int setDataImpl(IODataCmn &data) override;
34 size_t getDataSize() const override;
35 size_t getDataDim() const override;
36 bool isRead() const override;
37 bool isWrite() const override;
38 bool isNotify() const override;
39 bool isBatch() const override;
40
41 constexpr static SObjectId::ObjectId objectId(uint8_t instance)
42 {
45 }
46};
47
48}; // namespace dawn
Descriptor wrapper for individual object configuration.
Base class for all I/O objects.
Definition common.hxx:27
@ IO_CLASS_SYSTEM_SYSTEMTIME
System time.
Definition common.hxx:157
System information I/O providing system time.
Definition systime.hxx:15
bool isWrite() const
Check if IO supports write operations.
Definition systime.cxx:77
size_t getDataDim() const
Get data vector dimension.
Definition systime.cxx:67
int setDataImpl(IODataCmn &data)
Set data implementation (override in derived classes).
Definition systime.cxx:42
bool isNotify() const
Check if IO supports notifications.
Definition systime.cxx:82
size_t getDataSize() const
Get data size in bytes.
Definition systime.cxx:62
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
Definition systime.cxx:18
bool isRead() const
Check if IO supports read operations.
Definition systime.cxx:72
int init()
One-time initialize object after bindings are resolved.
Definition systime.cxx:13
bool isBatch() const
Check if IO supports batch operations.
Definition systime.cxx:87
Out-of-tree user-extension hooks for Dawn.
Definition bindable.hxx:13
Base interface for I/O data buffers (static and dynamic).
Definition idata.hxx:21
@ OBJTYPE_IO
Input/Output object type.
Definition objectid.hxx:184
@ DTYPE_UINT64
Unsigned 64-bit integer.
Definition objectid.hxx:104
uint32_t ObjectId
ObjectID type - single 32-bit value.
Definition objectid.hxx:44
static ObjectId objectId(uint8_t type, uint16_t cls, uint8_t dtype, uint8_t flags, uint16_t priv)
Construct 32-bit ObjectID from component fields.
Definition objectid.hxx:290