21#ifndef __ANTARES_COMMON_ACTION_ACTION_HXX__
22#define __ANTARES_COMMON_ACTION_ACTION_HXX__
46 using MemberType = void (C::*)();
47 callback.bind(
const_cast<C*
>(
object),
reinterpret_cast<MemberType
>(method));
55 virtual void onExecute()
76inline void Post(
const C*
object,
void (C::*method)(
void))
78 ::Antares::Dispatcher::GUI::Post(
79 (
const Yuni::Job::IJob::Ptr&)
new
80 typename ::Antares::Private::Dispatcher::JobSimpleDispatcher(
object, method));
84inline void Post(
const C*
object,
void (C::*method)(
void), uint delay)
86 auto j = new ::Antares::Private::Dispatcher::JobSimpleDispatcher(
object, method);
87 ::Antares::Dispatcher::GUI::Post((
const Yuni::Job::IJob::Ptr&)j, delay);
90inline void Post(
const Yuni::Bind<
void()>& job, uint delay)
92 ::Antares::Dispatcher::GUI::Post(
93 (
const Yuni::Job::IJob::Ptr&)new ::Antares::Private::Dispatcher::JobSimpleDispatcher(job),
99inline void Post(
const Yuni::Bind<
void()>& job)
102 (
const Yuni::Job::IJob::Ptr&)new ::Antares::Private::Dispatcher::JobSimpleDispatcher(job));
106inline void Post(
const C*
object,
void (C::*method)())
109 (
const Yuni::Job::IJob::Ptr&)
new
110 typename ::Antares::Private::Dispatcher::JobSimpleDispatcher(
object, method));
113template<
class C,
class UserDataT>
114inline void Post(
const C*
object,
void (C::*method)(),
const UserDataT& userdata)
117 (
const Yuni::Job::IJob::Ptr&)
new
118 typename ::Antares::Private::Dispatcher::JobSimpleDispatcher(
object, method, userdata));
133void ExecuteQueueDispatcher();
Yuni::Bind< void()> callback
Delayed callback.
Definition action.hxx:62
void Post(const Yuni::Job::IJob::Ptr &job)
Post a new job in the thread pool.
Definition action.cpp:105