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
33protected:
35 virtual void taskOnStart(void);
37 virtual void taskOnStop(void);
38private:
39 zfautoT<ZFTaskId> _implTaskId;
40};
41
42// ============================================================
48zfclass ZFLIB_ZFCore ZFAsyncTask : zfextend ZFTask {
49 ZFOBJECT_DECLARE(ZFAsyncTask, ZFTask)
50
51public:
54
55protected:
57 virtual void objectOnInit(void) {
59 }
60
62 ZFMP_IN(const ZFListener &, impl)
63 )
64
65protected:
67 virtual void taskOnStart(void);
69 virtual void taskOnStop(void);
70private:
71 zfautoT<ZFTaskId> _implTaskId;
72};
73
74// ============================================================
80zfclass ZFLIB_ZFCore ZFPostTask : zfextend ZFTask {
81 ZFOBJECT_DECLARE(ZFPostTask, ZFTask)
82
83public:
86
87protected:
89 virtual void objectOnInit(void) {
91 }
92
94 ZFMP_IN(const ZFListener &, impl)
95 )
96
97protected:
99 virtual void taskOnStart(void);
101 virtual void taskOnStop(void);
102private:
103 zfautoT<ZFTaskId> _implTaskId;
104};
105
106// ============================================================
112zfclass ZFLIB_ZFCore ZFAsyncIOCustomTask : zfextend ZFTask {
113 ZFOBJECT_DECLARE(ZFAsyncIOCustomTask, ZFTask)
114
115public:
118
119protected:
121 virtual void objectOnInit(void) {
123 }
124
126 ZFMP_IN(const ZFListener &, impl)
128
129protected:
131 virtual void taskOnStart(void);
133 virtual void taskOnStop(void);
134private:
135 zfautoT<ZFTaskId> _implTaskId;
136};
137
138// ============================================================
144zfclass ZFLIB_ZFCore ZFAsyncIOTask : zfextend ZFTask {
145 ZFOBJECT_DECLARE(ZFAsyncIOTask, ZFTask)
146
147public:
152
153protected:
155 virtual void objectOnInit(void) {
157 }
158
160 ZFMP_IN(const ZFOutput &, output)
161 , ZFMP_IN(const ZFInput &, input)
163
164protected:
166 virtual void taskOnStart(void);
168 virtual void taskOnStop(void);
169private:
170 zfautoT<ZFTaskId> _implTaskId;
171};
172
174#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
_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
abstract task util
virtual void taskOnStop(void)
called to stop task
virtual ZFListener & impl()
the impl
Definition ZFTaskUtil.h:117
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:121
virtual void taskOnStart(void)
called to start task
virtual void taskOnStop(void)
called to stop task
virtual void taskOnStart(void)
called to start task
virtual ZFOutput & output()
the impl
Definition ZFTaskUtil.h:149
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:155
virtual ZFInput & input()
the impl
Definition ZFTaskUtil.h:151
virtual ZFListener & impl()
the impl
Definition ZFTaskUtil.h:53
virtual void objectOnInit(void)
override this to init your object
Definition ZFTaskUtil.h:57
virtual void taskOnStop(void)
called to stop task
virtual void taskOnStart(void)
called to start task
general input callback
Definition ZFIOCallback_input.h:36
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:89
virtual ZFListener & impl()
the impl
Definition ZFTaskUtil.h:85
virtual void taskOnStop(void)
called to stop task
virtual void taskOnStart(void)
called to start task
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 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
virtual void taskOnStop(void)
called to stop task
type restrict version of zfauto
Definition zfautoFwd.h:113