XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
DSwt.hxx
浏览该文件的文档.
1
13#ifndef __xwos_cxx_DSwt_hxx__
14#define __xwos_cxx_DSwt_hxx__
15
16#include <xwos/osal/swt.hxx>
17#include <xwos/cxx/Cpu.hxx>
18
19namespace xwos {
20
33template<xwid_t TCpu = 0>
34class DSwt
35{
36 private:
40 public:
46 {
48 }
68 xwer_t start(xwtm_t origin, xwtm_t period)
69 {
70 xwer_t rc;
71
72 if (TCpu == Cpu::getLocalCpuId()) {
73 rc = xwos_swt_start(mSwtDesc.swt, origin, period,
75 } else {
76 rc = -EHOSTUNREACH;
77 }
78 return rc;
79 }
89 struct xwos_swt * getXwosObj() { return mSwtDesc.swt; }
90
91 /* 生命周期管理 */
95 protected:
96 virtual void swtAlarmFunction() {}
98 private:
99 static void sSwtAlarmFunction(struct xwos_swt * swt, DSwt * obj) { obj->swtAlarmFunction(); }
100};
101
106} // namespace xwos
107
108#endif /* xwos/cxx/DSwt.hxx */
xwos::Cpu
static xwid_t getLocalCpuId()
获取当前CPU的ID
Definition Cpu.hxx:64
动态软件定时器
Definition DSwt.hxx:35
xwos_swt_d mSwtDesc
Definition DSwt.hxx:37
static void sSwtAlarmFunction(struct xwos_swt *swt, DSwt *obj)
Definition DSwt.hxx:99
xwer_t stop()
停止软件定时器
Definition DSwt.hxx:85
xwer_t acquire()
Definition DSwt.hxx:92
xwer_t mCtorRc
Definition DSwt.hxx:38
xwer_t getDSwtCtorRc()
获取动态软件定时器构造的结果
Definition DSwt.hxx:58
xwer_t start(xwtm_t origin, xwtm_t period)
启动软件定时器
Definition DSwt.hxx:68
xwer_t release()
Definition DSwt.hxx:93
struct xwos_swt * getXwosObj()
获取XWOS对象指针
Definition DSwt.hxx:89
DSwt(xwsq_t flag=XWOS_SWT_FLAG_NULL)
动态软件定时器构造函数
Definition DSwt.hxx:45
virtual ~DSwt()
动态软件定时器析构函数
Definition DSwt.hxx:52
virtual void swtAlarmFunction()
Definition DSwt.hxx:96
#define EHOSTUNREACH
Host is unreachable
Definition errno.h:131
xws64_t xwtm_t
XWOS系统时间 (有符号)
Definition type.h:742
signed long xwer_t
Definition type.h:554
unsigned long xwsq_t
Definition type.h:445
#define XWOS_SWT_FLAG_NULL
XWOS API:软件定时器标志 —— 无标志(默认标志)
Definition swt.h:94
static xwer_t xwos_swt_acquire(xwos_swt_d swtd)
XWOS API:检查软件定时器对象的标签并增加引用计数
Definition swt.h:216
static xwer_t xwos_swt_start(struct xwos_swt *swt, xwtm_t origin, xwtm_t period, xwos_swt_f callback, void *arg)
XWOS API:启动软件定时器
Definition swt.h:280
static xwer_t xwos_swt_stop(struct xwos_swt *swt)
XWOS API:停止软件定时器
Definition swt.h:297
static xwer_t xwos_swt_release(xwos_swt_d swtd)
XWOS API:检查对象的标签并减少引用计数
Definition swt.h:233
static xwer_t xwos_swt_delete(xwos_swt_d swtd)
XWOS API:删除动态方式创建的软件定时器
Definition swt.h:196
static xwer_t xwos_swt_create(xwos_swt_d *swtd, xwsq_t flag)
XWOS API:动态方式创建软件定时器
Definition swt.h:183
void(* xwos_swt_f)(struct xwos_swt *, void *)
XWOS API:软件定时器回调函数指针类型
Definition swt.h:76
Definition Bmp.hxx:21
XWOS API:软件定时器对象描述符
Definition swt.h:81
struct xwos_swt * swt
Definition swt.h:82
XWOS API:软件定时器
Definition swt.h:69
C++操作系统抽象层:软件定时器