Kiwano Engine v1.3.x
|
任务 更多...
#include <Task.h>
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< Ticker > | GetTicker () 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 |
判断对象是否有效 更多... | |
ObjectStatus * | GetStatus () 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 () |
获取下一元素 | |
任务
任务用于每隔一段时间执行一次回调函数,且可以指定执行总次数
using kiwano::Task::Callback = Function<void(Task* , Duration )> |
任务回调函数
回调函数第一个参数是任务自身,第二个参数是时间增量
kiwano::Task::Task | ( | StringView | name, |
const Callback & | cb, | ||
RefPtr< Ticker > | ticker | ||
) |
创建任务
name | 名称 |
cb | 回调函数 |
报时器 |
创建任务
cb | 回调函数 |
interval | 时间间隔 |
times | 执行次数(设 -1 为永久执行) |
kiwano::Task::Task | ( | StringView | name, |
const Callback & | cb, | ||
Duration | interval, | ||
int | times = -1 |
||
) |
创建任务
name | 名称 |
cb | 回调函数 |
interval | 时间间隔 |
times | 执行次数(设 -1 为永久执行) |