Kiwano Engine v1.3.x
kiwano::Task类 参考

任务 更多...

#include <Task.h>

类 kiwano::Task 继承关系图:
kiwano::ObjectBase kiwano::IntrusiveListValue< RefPtr< Task > > kiwano::RefObject kiwano::Serializable kiwano::Noncopyable

Public 类型

using Callback = Function< void(Task *, Duration)>
 任务回调函数 更多...
 

Public 成员函数

 Task (const Callback &cb, RefPtr< Ticker > ticker)
 创建任务 更多...
 
 Task (StringView name, const Callback &cb, RefPtr< Ticker > ticker)
 创建任务 更多...
 
 Task (const Callback &cb, Duration interval, int times=-1)
 创建任务 更多...
 
 Task (StringView name, const Callback &cb, Duration interval, int times=-1)
 创建任务 更多...
 
 Task ()
 构造空任务
 
void Start ()
 启动任务
 
void Stop ()
 停止任务
 
void Remove ()
 移除任务
 
bool IsRunning () const
 任务是否在运行
 
bool IsRemoveable () const
 任务是否可移除
 
Callback GetCallback () const
 获取任务回调函数
 
void SetCallback (const Callback &callback)
 设置任务回调函数
 
RefPtr< TickerGetTicker () const
 获取任务的报时器
 
void SetTicker (RefPtr< Ticker > ticker)
 设置任务的报时器
 
- Public 成员函数 继承自 kiwano::ObjectBase
 ObjectBase ()
 构造基础对象
 
void SetName (StringView name)
 设置对象名
 
StringView GetName () const
 获取对象名
 
bool IsName (StringView name) const
 判断对象的名称是否相同 更多...
 
void * GetUserData () const
 获取用户数据
 
void SetUserData (void *data)
 设置用户数据 更多...
 
void Hold (RefPtr< ObjectBase > other)
 持有一个对象并管理其生命周期 更多...
 
void Unhold (RefPtr< ObjectBase > other)
 放弃持有的对象 更多...
 
uint64_t GetObjectID () const
 获取对象ID
 
void DoSerialize (Serializer *serializer) const override
 序列化 更多...
 
void DoDeserialize (Deserializer *deserializer) override
 反序列化 更多...
 
virtual bool IsValid () const
 判断对象是否有效 更多...
 
ObjectStatusGetStatus () const
 获取对象状态
 
void SetStatus (const ObjectStatus &status)
 设置对象状态
 
void Fail (StringView msg, int code=ObjectStatus::fail)
 将对象标记为失败状态
 
void ClearStatus ()
 清除对象状态
 
- Public 成员函数 继承自 kiwano::RefObject
void Retain ()
 增加引用计数
 
void Release ()
 减少引用计数
 
uint32_t GetRefCount () const
 获取引用计数
 
- Public 成员函数 继承自 kiwano::Serializable
Vector< uint8_t > Serialize () const
 序列化为字节串
 
void Deserialize (const Vector< uint8_t > &data)
 从字节串反序列化
 
virtual void DoSerialize (Serializer *serializer) const =0
 执行序列化 更多...
 
virtual void DoDeserialize (Deserializer *deserializer)=0
 执行反序列化 更多...
 

友元

class TaskScheduler
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 kiwano::ObjectBase
static void SetObjectPolicy (const ObjectPolicyFunc &policy)
 设置对象处理策略
 
static bool IsTracingLeaks ()
 是否启用了内存泄漏追踪
 
static void StartTracingLeaks ()
 开始追踪内存泄漏
 
static void StopTracingLeaks ()
 停止追踪内存泄漏
 
static void DumpTracingObjects ()
 打印所有追踪中的对象信息
 
static Vector< ObjectBase * > & GetTracingObjects ()
 获取所有追踪中的对象
 
- 静态 Public 成员函数 继承自 kiwano::RefObject
static void * operator new (size_t size)
 
static void operator delete (void *ptr)
 
static void * operator new (size_t size, std::nothrow_t const &) noexcept
 
static void operator delete (void *ptr, std::nothrow_t const &) noexcept
 
static void * operator new (size_t size, void *ptr) noexcept
 
static void operator delete (void *ptr, void *place) noexcept
 
- Protected 类型 继承自 kiwano::IntrusiveListValue< RefPtr< Task > >
using value_type = typename std::pointer_traits< RefPtr< Task > >::pointer
 
using reference = value_type &
 
using pointer = value_type *
 
- Protected 成员函数 继承自 kiwano::IntrusiveListValue< RefPtr< Task > >
 IntrusiveListValue (value_type rhs)
 
const value_type & GetPrev () const
 获取前一元素
 
value_type & GetPrev ()
 获取前一元素
 
const value_type & GetNext () const
 获取下一元素
 
value_type & GetNext ()
 获取下一元素
 

详细描述

任务

任务用于每隔一段时间执行一次回调函数,且可以指定执行总次数

成员类型定义说明

◆ Callback

任务回调函数

回调函数第一个参数是任务自身,第二个参数是时间增量

构造及析构函数说明

◆ Task() [1/4]

kiwano::Task::Task ( const Callback cb,
RefPtr< Ticker ticker 
)

创建任务

参数
cb回调函数
报时器

◆ Task() [2/4]

kiwano::Task::Task ( StringView  name,
const Callback cb,
RefPtr< Ticker ticker 
)

创建任务

参数
name名称
cb回调函数
报时器

◆ Task() [3/4]

kiwano::Task::Task ( const Callback cb,
Duration  interval,
int  times = -1 
)

创建任务

参数
cb回调函数
interval时间间隔
times执行次数(设 -1 为永久执行)

◆ Task() [4/4]

kiwano::Task::Task ( StringView  name,
const Callback cb,
Duration  interval,
int  times = -1 
)

创建任务

参数
name名称
cb回调函数
interval时间间隔
times执行次数(设 -1 为永久执行)