#include <ZFProtocolZFThread.h>
Public Types | |
enum | |
![]() | |
enum | |
![]() | |
enum | |
Public Member Functions | |
virtual const ZFClass * | classData (void) |
get instance's class info | |
virtual void | threadStart (ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
start thread, do nothing if already started | |
virtual zfbool | threadStarted (void) |
return true if start is called and hasn't been stopped or end | |
virtual zfbool | threadRunning (void) |
return true only if thread is running | |
virtual void | threadStop (void) |
request stop the thread, may not be stopped immediately | |
virtual void | threadWait (void) |
wait until thread finished running | |
virtual zfbool | threadWait (zftimet miliSecs) |
wait until thread finished running, or timeout | |
virtual zfbool | isMainThread (void) |
return true if current thread is main thread | |
![]() | |
virtual void | sleepCancel () |
cancel sleep or do nothing if not sleepping | |
virtual zfstring & | threadName () |
thread name for debug use | |
virtual void | threadName (zfstring const &propertyValue) |
see threadName | |
virtual ZFListener & | threadRunnable () |
the main callback to run | |
virtual void | threadRunnable (ZFListener const &propertyValue) |
see threadRunnable | |
virtual zfbool | threadStopRequested () |
return true if stop is called after start | |
virtual zfbool | isNativeThread () |
true if the thread is registered by nativeThreadRegister | |
virtual void | autoReleasePoolAdd (ZFObject *obj) |
add object to auto release pool attached to this thread | |
virtual void | autoReleasePoolDrain () |
manually drain auto release pool | |
virtual void | taskQueueInit () |
prepare a task queue that can be run in this thread | |
virtual void | taskQueueCleanup () |
see taskQueueInit | |
virtual zfbool | taskQueueAvailable () |
see taskQueueInit | |
virtual zfindex | taskQueueCount () |
see taskQueueInit | |
virtual void | taskQueueAdd (const ZFListener &task) |
see taskQueueInit | |
virtual void | taskQueueRemove (const ZFListener &task) |
see taskQueueRemove | |
virtual zfbool | taskQueueRunning () |
try if any task add by taskQueueAdd is running | |
![]() | |
zfindex | objectRetainCount (void) |
return the object's retain count | |
void | objectInfoOfInstanceT (zfstring &ret) |
see objectInfoOfInstance | |
zfstring | objectInfoOfInstance (void) |
return a short string describe the object instance | |
void | objectInfoT (zfstring &ret) |
see objectInfo | |
zfstring | objectInfo (void) |
return object info | |
zfidentity | objectHash (void) |
get hash of this object | |
ZFCompareResult | objectCompare (ZFObject *anotherObj) |
compare with anotherObj | |
ZFCompareResult | objectCompareValue (ZFObject *anotherObj) |
explicitly compare object by logical value, see objectCompare | |
virtual zfauto | invoke (const zfstring &methodName) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfauto | invoke (const zfstring &methodName, ZFObject *param0, ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfbool | invokeT (zfauto &ret, zfstring *errorHint, const zfstring &methodName, ZFObject *param0=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfauto | invokeDetail (const zfstring &methodName, const ZFCoreArray< zfauto > ¶ms, zfbool *success=zft_zfnull, zfstring *errorHint=zft_zfnull) |
util method to perform ZFDI_invoke, do nothing if fail | |
zfbool | objectTagExist (void) |
see objectTag, true if this object has tag, and tag can be checked by objectTagGetAllKeyValue | |
void | objectTag (const zfstring &key, ZFObject *tag) |
used to hold a object for app's use, auto retained | |
zfany | objectTag (const zfstring &key) |
see objectTag | |
void | objectTagGetAllKeyValue (ZFCoreArray< zfstring > &allKey, ZFCoreArray< zfauto > &allValue) |
get all key value | |
void | objectTagRemove (const zfstring &key) |
remove tag, same as set tag to null | |
zfauto | objectTagRemoveAndGet (const zfstring &key) |
remove tag, return removed tag or null if not exist | |
void | objectTagRemoveAll (void) |
remove all tag | |
void | observerAdd (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
see observerNotify | |
void | observerAddForOnce (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
see observerNotify | |
void | observerRemove (zfidentity eventId, const ZFListener &callback) |
see observerNotify | |
void | observerRemoveAll (zfidentity eventId) |
see observerNotify | |
void | observerRemoveAll (void) |
see observerNotify | |
zfbool | observerHasAdd (void) |
true if any observer has been added | |
zfbool | observerHasAdd (zfidentity eventId) |
true if any observer with eventId has been added | |
void | observerNotify (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
notify the observer with eventId | |
void | observerNotifyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
void | observerNotifyReversely (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
void | observerNotifyReverselyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
ZFObserver & | observerHolder (void) |
access the internal observer holder | |
void | on (const zfstring &eventName, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
util to observerAdd | |
void | on (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
util to observerAdd | |
void | onInit (const ZFListener &impl) |
util for script to achieve chained call | |
void | onDealloc (const ZFListener &impl) |
util for script to achieve chained call | |
zfbool | objectInstanceStateCheck (ZFObjectInstanceState state) |
object instance's state | |
zfbool | objectInitRunning (void) |
util method to check whether ZFObjectInstanceStateOnInit or ZFObjectInstanceStateOnInitFinish running | |
zfbool | objectDeallocRunning (void) |
util method to check whether ZFObjectInstanceStateOnDeallocPrepare or ZFObjectInstanceStateOnDealloc running | |
virtual zfbool | objectIsInternal (void) |
whether this object is internal object or its class is ZFClass::classIsInternal | |
virtual zfbool | objectIsInternalPrivate (void) |
whether this object is internal private object or its class is ZFClass::classIsInternalPrivate | |
Static Public Member Functions | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
static zfidentity | E_ThreadOnRegister (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ThreadOnUnregister (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ThreadOnStart (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ThreadOnStop (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ThreadOnStopRequested (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ThreadTaskQueueOnFinish (void) |
see ZFObject::observerNotify | |
static void * | nativeThreadRegister (const zfstring &threadName) |
register a thread which is not started by ZFThread, assert fail if already registered | |
static void | nativeThreadUnregister (void *token) |
see nativeThreadRegister | |
static zfbool | implAvailable () |
whether thread impl is available | |
static zfbool | implMainThreadTaskAvailable () |
whether mainThread's taskQueueAdd is available | |
static const ZFCoreArray< ZFThread * > & | allThread () |
access all thread, mainThread is not included | |
static ZFThread * | mainThread () |
return main thread | |
static ZFThread * | currentThread () |
return current thread, or zfnull if thread isn't started or registered by ZFThread or not registered by ZFThread::nativeThreadRegister | |
static zfbool | sleep (zftimet miliSecs) |
make current thread sleep for miliSecs, note this method may be not accurate | |
static ZFThread * | executeInThread (ZFThread *thread, const ZFListener &callback) |
util to run callback in specified thread, or run in mainThread if the thread is null or taskQueueAvailable is false | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
static zfidentity | E_ObjectBeforeAlloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectAfterAlloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectBeforeDealloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectPropertyValueOnUpdate (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectPropertyValueOnReset (void) |
see ZFObject::observerNotify | |
Protected Types | |
typedef ZFThread | zfsuper |
class ref to super | |
typedef ZFThreadMainThread | zfself |
class ref to self | |
![]() | |
typedef ZFObject | zfsuper |
class ref to super | |
typedef ZFThread | zfself |
class ref to self | |
![]() | |
typedef _ZFP_Obj_Base | zfsuper |
class ref to super | |
typedef ZFObject | zfself |
class ref to self | |
Additional Inherited Members | |
![]() | |
virtual void | objectOnInit (const ZFListener &runnable) |
init from listener | |
virtual void | objectOnInit (void) |
override this to init your object | |
virtual void | objectOnDealloc (void) |
override this to destroy your object | |
virtual void | objectOnDeallocPrepare (void) |
called before objectOnDealloc, safe to call virtual functions here | |
virtual void | objectInfoImplAppend (zfstring &ret) |
see objectInfo | |
virtual void | threadOnRun (const ZFArgs &zfargs) |
internal runnable, do nothing by default, you may override it | |
virtual void | threadOnRegister (void) |
see E_ThreadOnRegister | |
virtual void | threadOnUnregister (void) |
see E_ThreadOnUnregister | |
virtual void | threadOnStart (const ZFArgs &zfargs) |
see E_ThreadOnStart | |
virtual void | threadOnStop (const ZFArgs &zfargs) |
see E_ThreadOnStop | |
virtual void | threadOnStopRequested (void) |
see E_ThreadOnStopRequested | |
virtual void | threadTaskQueueOnFinish (void) |
see E_ThreadTaskQueueOnFinish | |
![]() | |
virtual void | objectInfoImpl (zfstring &ret) |
see objectInfo | |
virtual zfidentity | objectHashImpl (void) |
see objectHash | |
virtual ZFCompareResult | objectCompareImpl (ZFObject *anotherObj) |
see objectCompare | |
virtual ZFCompareResult | objectCompareValueImpl (ZFObject *anotherObj) |
see objectCompareValue | |
virtual void | observerOnAdd (zfidentity eventId) |
called when add first observer | |
virtual void | observerOnRemove (zfidentity eventId) |
called when remove last observer | |
virtual void | observerOnEvent (const ZFArgs &zfargs) |
notified when observerNotify | |
virtual void | objectOnInitFinish (void) |
called after objectOnInit, safe to call virtual functions here | |
virtual void | objectOnRetain (void) |
called to retain object | |
virtual void | objectOnRelease (void) |
called to release object | |
virtual void | objectPropertyValueOnUpdate (const ZFProperty *property, const void *oldValue) |
see E_ObjectPropertyValueOnUpdate | |
virtual void | objectPropertyValueOnReset (const ZFProperty *property) |
see E_ObjectPropertyValueOnReset | |
see ZFThread
|
inlinevirtual |
get instance's class info
Reimplemented from ZFThread.
|
inlinevirtual |
start thread, do nothing if already started
Reimplemented from ZFThread.
|
inlinevirtual |
return true if start is called and hasn't been stopped or end
Reimplemented from ZFThread.
|
inlinevirtual |
return true only if thread is running
Reimplemented from ZFThread.
|
inlinevirtual |
request stop the thread, may not be stopped immediately
if thread is started but not running, this function will cancel the thread's run
otherwise, whether the thread is continue running or stopped, is up to the runnable
Reimplemented from ZFThread.
|
inlinevirtual |
wait until thread finished running
return immediately if thread isn't running
note:
Reimplemented from ZFThread.
wait until thread finished running, or timeout
return true immediately if thread isn't running, or false if wait timeout or error
Reimplemented from ZFThread.
|
inlinevirtual |
return true if current thread is main thread
subclass should not override this method
Reimplemented from ZFThread.