![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cJobBase.h>
Public Member Functions | |
cJobBase (cJobArray *pArrayParent=nullptr) noexcept | |
STDMETHOD_ (cString, get_Name)() const =0 | |
overload this to give the job a name. More... | |
virtual HRESULT | DisposeThis () |
virtual void | put_JobParam (INT_PTR iParam) |
bool | isJobScheduled () const noexcept |
TIMESYS_t | get_SortValue () const noexcept |
TIMESYS_t | get_TimeNext () const noexcept |
TIMESECD_t | get_TimeNextSec () const noexcept |
TIMESECD_t | get_TimeLastSec () const noexcept |
HRESULT | RunJobX () |
HRESULT | ClearJob () |
HRESULT | ScheduleJob (TIMESYSD_t mSecDelay) |
HRESULT | ScheduleJobX (TIMESYSD_t mSecDelay) |
HRESULT | ScheduleJobParam (INT_PTR iParam) |
virtual void | ResetJobTime () |
reset the next time. More... | |
HRESULT | put_TimeNext (TIMESYS_t nTimeNext) |
Job may be in a sorted list. so protect all the time setting functions. More... | |
![]() | |
cRefBase (int iRefCount=0) noexcept | |
virtual | ~cRefBase () |
int | get_RefCount () const noexcept |
HASHCODE_t | get_HashCode () const noexcept |
STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept | |
virtual void | onFinalRelease () |
bool | isValidObj () const noexcept |
STDMETHOD_ (ULONG, AddRef)(void) override | |
STDMETHOD_ (ULONG, Release)(void) override | |
STDMETHOD() | QueryInterface (const IID &riid, void __RPC_FAR *__RPC_FAR *ppvObject) override |
void | IncRefCount () |
void | DecRefCount () |
bool | isStaticConstruct () const noexcept |
void | StaticConstruct () |
void | StaticDestruct () |
bool | isDestructing () noexcept |
void | SetDestructing () |
![]() | |
cThreadState () noexcept | |
bool | isThreadRunning () const noexcept |
bool | isThreadStopping () const noexcept |
virtual bool | RequestStopThread (bool bWillWait=false) noexcept |
Static Public Attributes | |
static const TIMESYS_t | k_ASAP = 1 |
Protected Member Functions | |
virtual HRESULT | RunJob ()=0 |
Override this to make the job do some real work. More... | |
Friends | |
class | cJobArray |
Additional Inherited Members | |
![]() | |
bool | m_bThreadRunning |
called CreateThread() onThreadCreate(), and inside Run(), until onThreadExit() More... | |
volatile bool | m_bThreadStopping |
trying to stop the thread nicely. Do this before TerminateThread() More... | |
Base/Abstract for a single job to be performed/scheduled some time when i get around to it. Maybe on another thread. maybe not. can be used with cJobFiber, cJobThreadSeq or cJobThread etc.
|
inlinenoexcept |
|
inline |
don't do this task.
|
inlinevirtual |
If the job is running now, Soft cancel it.
|
inlinenoexcept |
|
inlinenoexcept |
seconds since this ran last. <0 = never.
|
inlinenoexcept |
When is this task scheduled next? cTimeSys::k_CLEAR = 0 = not scheduled. 1 = k_ASAP
|
inlinenoexcept |
seconds until it runs next. INT_MAX = not scheduled. <=0 = should run any time now.
|
inlinenoexcept |
is Job scheduled to run at some time? m_timeNext = 1 = ASAP
|
inlinevirtual |
Set some arbitrary parameter depending on the actual job.
Job may be in a sorted list. so protect all the time setting functions.
When should this job run next ? nTimeNext = system time to schedule this again. cTimeSys::k_CLEAR = 0 = never.
If this is already in a job array. this must be resorted!!
|
inlinevirtual |
reset the next time.
reset the time to next run of the job. (depends on the job)
|
protectedpure virtual |
Override this to make the job do some real work.
Implemented in GrayLib::cScriptJob, and GrayLib::cJobUnitTest.
HRESULT GrayLib::cJobBase::RunJobX | ( | ) |
|
inline |
schedule to run this in mSecDelay from now. mSecDelay = Relative to now. 0 = now
|
inline |
Do this ASAP. With a param.
|
inline |
schedule to run this in mSecDelay from last time. (or now) Relative to last time. 0 = never
|
pure virtual |
overload this to give the job a name.
Implemented in GrayLib::cJobUnitTest.
|
friend |
|
static |