ZFFramework
Loading...
Searching...
No Matches
ZFThreadMainThread Class Reference

see ZFThread More...

#include <ZFProtocolZFThread.h>

Inheritance diagram for ZFThreadMainThread:
ZFThread ZFObject

Public Types

enum  
Public Types inherited from ZFThread
enum  
Public Types inherited from ZFObject
enum  

Public Member Functions

virtual const ZFClassclassData (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
Public Member Functions inherited from ZFThread
virtual void sleepCancel ()
 cancel sleep or do nothing if not sleepping
virtual zfstringthreadName ()
 thread name for debug use
virtual void threadName (zfstring const &propertyValue)
 see threadName
virtual ZFListenerthreadRunnable ()
 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
Public Member Functions inherited from ZFObject
const ZFClassclassDynamic (void)
 dynamic class of this object, see ZFClassDynamicRegister
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 > &params, 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
ZFObserverobserverHolder (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 ZFClassClassData (void)
 get class info
Static Public Member Functions inherited from ZFThread
static const ZFClassClassData (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 ZFThreadmainThread ()
 return main thread
static ZFThreadcurrentThread ()
 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 ZFThreadexecuteInThread (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 Public Member Functions inherited from ZFObject
static const ZFClassClassData (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
Protected Types inherited from ZFThread
typedef ZFObject zfsuper
 class ref to super
typedef ZFThread zfself
 class ref to self
Protected Types inherited from ZFObject
typedef _ZFP_Obj_Base zfsuper
 class ref to super
typedef ZFObject zfself
 class ref to self

Additional Inherited Members

Protected Member Functions inherited from ZFThread
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
Protected Member Functions inherited from ZFObject
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

Detailed Description

Member Function Documentation

◆ classData()

virtual const ZFClass * ZFThreadMainThread::classData ( void )
inlinevirtual

get instance's class info

Reimplemented from ZFThread.

◆ threadStart()

virtual void ZFThreadMainThread::threadStart ( ZFObject * param0 = zft_zfnull,
ZFObject * param1 = zft_zfnull )
inlinevirtual

start thread, do nothing if already started

Reimplemented from ZFThread.

◆ threadStarted()

virtual zfbool ZFThreadMainThread::threadStarted ( void )
inlinevirtual

return true if start is called and hasn't been stopped or end

Reimplemented from ZFThread.

◆ threadRunning()

virtual zfbool ZFThreadMainThread::threadRunning ( void )
inlinevirtual

return true only if thread is running

Reimplemented from ZFThread.

◆ threadStop()

virtual void ZFThreadMainThread::threadStop ( void )
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

See also
threadStopRequested

Reimplemented from ZFThread.

◆ threadWait() [1/2]

virtual void ZFThreadMainThread::threadWait ( void )
inlinevirtual

wait until thread finished running

return immediately if thread isn't running

note:

Reimplemented from ZFThread.

◆ threadWait() [2/2]

virtual zfbool ZFThreadMainThread::threadWait ( zftimet miliSecs)
inlinevirtual

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.

◆ isMainThread()

virtual zfbool ZFThreadMainThread::isMainThread ( void )
inlinevirtual

return true if current thread is main thread

subclass should not override this method

Reimplemented from ZFThread.


The documentation for this class was generated from the following file: