ZFFramework
 
Loading...
Searching...
No Matches
ZFTaskUtil.h
Go to the documentation of this file.
1
5
6#ifndef _ZFI_ZFTaskUtil_h_
7#define _ZFI_ZFTaskUtil_h_
8
9#include "ZFTask.h"
11
12// ============================================================
16zfclass ZFLIB_ZFCore ZFWaitTask : zfextend ZFTask {
17 ZFOBJECT_DECLARE(ZFWaitTask, ZFTask)
18
19public:
22
23protected:
25 virtual void objectOnInit(void) {
27 }
28
30 ZFMP_IN(zftimet, duration)
31 )
32
33public:
35 virtual void taskOnStart(void);
38private:
39 zfautoT<ZFTaskId> _implTaskId;
40};
41
42// ============================================================
46zfclass ZFLIB_ZFCore ZFAsyncTask : zfextend ZFTask {
47 ZFOBJECT_DECLARE(ZFAsyncTask, ZFTask)
48
49public:
52
53protected:
55 virtual void objectOnInit(void) {
57 }
58
60 ZFMP_IN(const ZFListener &, impl)
61 )
62
63public:
65 virtual void taskOnStart(void);
68private:
69 zfautoT<ZFTaskId> _implTaskId;
70};
71
72// ============================================================
76zfclass ZFLIB_ZFCore ZFPostTask : zfextend ZFTask {
77 ZFOBJECT_DECLARE(ZFPostTask, ZFTask)
78
79public:
82
83protected:
85 virtual void objectOnInit(void) {
87 }
88
90 ZFMP_IN(const ZFListener &, impl)
91 )
92
93public:
95 virtual void taskOnStart(void);
98private:
99 zfautoT<ZFTaskId> _implTaskId;
100};
101
102// ============================================================
106zfclass ZFLIB_ZFCore ZFAsyncIOCustomTask : zfextend ZFTask {
107 ZFOBJECT_DECLARE(ZFAsyncIOCustomTask, ZFTask)
108
109public:
112
113protected:
115 virtual void objectOnInit(void) {
117 }
118
120 ZFMP_IN(const ZFListener &, impl)
122
123public:
125 virtual void taskOnStart(void);
128private:
129 zfautoT<ZFTaskId> _implTaskId;
130};
131
132// ============================================================
136zfclass ZFLIB_ZFCore ZFAsyncIOTask : zfextend ZFTask {
137 ZFOBJECT_DECLARE(ZFAsyncIOTask, ZFTask)
138
139public:
144
145protected:
147 virtual void objectOnInit(void) {
149 }
150
152 ZFMP_IN(const ZFOutput &, output)
153 , ZFMP_IN(const ZFInput &, input)
155
156public:
158 virtual void taskOnStart(void);
161private:
162 zfautoT<ZFTaskId> _implTaskId;
163};
164
166#endif // #ifndef _ZFI_ZFTaskUtil_h_
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define zfoverride
dummy macro shows that method override parent's method
Definition ZFCoreTypeDef_ClassType.h:58
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
_zft_zftimet zftimet
time unit, ensured at least 64 bit, ensured signed
Definition ZFCoreTypeDef_CoreType.h:203
#define ZFMP_IN(ParamType, paramName)
macro to wrap param types for ZFMETHOD_INLINE_0 series
Definition ZFMethod.h:105
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
#define zfclass
same as class, shows that this class is a ZFObject type
Definition ZFObjectClassTypeFwd.h:38
#define ZFOBJECT_ON_INIT_DECLARE_2(ZFMP_0, ZFMP_1)
see ZFOBJECT_ON_INIT_INLINE_1
Definition ZFObjectDeclare.h:290
#define ZFOBJECT_ON_INIT_DECLARE_1(ZFMP_0)
see ZFOBJECT_ON_INIT_INLINE_1
Definition ZFObjectDeclare.h:263
#define ZFOBJECT_DECLARE(ChildClass, SuperClass,...)
necessary for every class inherit from ZFObject
Definition ZFObjectDeclare.h:126
#define ZFPROPERTY_ASSIGN(Type, Name,...)
see ZFPROPERTY_RETAIN
Definition ZFPropertyDeclare.h:128
v_ZFResultType::ZFEnumType ZFResultType
see v_ZFResultType
Definition ZFResultType.h:23
abstract task util
virtual ZFListener & impl()
the impl
Definition ZFTaskUtil.h:111
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:115
virtual void taskOnStop(ZFResultType resultType)
called to stop task
virtual void taskOnStart(void)
called to start task
virtual void taskOnStart(void)
called to start task
virtual ZFOutput & output()
the impl
Definition ZFTaskUtil.h:141
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:147
virtual ZFInput & input()
the impl
Definition ZFTaskUtil.h:143
virtual void taskOnStop(ZFResultType resultType)
called to stop task
virtual ZFListener & impl()
the impl
Definition ZFTaskUtil.h:51
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:55
virtual void taskOnStart(void)
called to start task
virtual void taskOnStop(ZFResultType resultType)
called to stop task
general input callback
Definition ZFIOCallback_input.h:37
listener as ZFCallback, mostly used by ZFObject::observerNotify
Definition ZFObjectObserver.h:30
general output callback
Definition ZFIOCallback_output.h:37
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:85
virtual ZFListener & impl()
the impl
Definition ZFTaskUtil.h:81
virtual void taskOnStart(void)
called to start task
virtual void taskOnStop(ZFResultType resultType)
called to stop task
virtual ZFResultType & resultType()
for task impl to store task result, reset to success when start
Definition ZFTask.h:84
virtual void objectOnInit(const ZFListener &implOnStart, const ZFListener &implOnStop=(zft_zfnull))
util constructor to attach custom impl to E_TaskOnStart and E_TaskOnStop
virtual void taskOnStop(ZFResultType resultType)
called to stop task
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:25
virtual zftimet & duration()
the wait duration
Definition ZFTaskUtil.h:21
virtual void taskOnStart(void)
called to start task
type restrict version of zfauto
Definition zfautoFwd.h:110