Sha256: 11b2196cd5e478f684f2b4fad44b6117b87cca32e141d3faf88c20d759f87558
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
#pragma once #include "RhoStd.h" #include "IRhoThreadImpl.h" #include "AutoPointer.h" namespace rho { namespace common { struct IRhoClassFactory; class CRhoThread : public IRhoRunnable { CAutoPtr<IRhoThreadImpl> m_pImpl; static const int TS_NONE = 0; static const int TS_WAIT = 1; static const int TS_STOPPING = 2; static const int TS_RUNNING = 4; int m_nState; public: CRhoThread(IRhoClassFactory* factory); virtual ~CRhoThread(void){}; virtual void start(EPriority ePriority); virtual void stop(unsigned int nTimeoutToKill){ m_nState |= TS_STOPPING; m_pImpl->stop(nTimeoutToKill); m_nState &= ~TS_STOPPING; } virtual void wait(unsigned int nTimeout){ m_nState |= TS_WAIT; m_pImpl->wait(nTimeout); m_nState &= ~TS_WAIT; } virtual void stopWait(){ if (isWaiting()) m_pImpl->stopWait(); } virtual void sleep(unsigned int nTimeout){ m_pImpl->sleep(nTimeout); } virtual void run() = 0; virtual void runObject() { run(); m_nState = TS_NONE; } boolean isStopping(){return (m_nState&TS_STOPPING) != 0;} boolean isWaiting(){return (m_nState&TS_WAIT) != 0;} boolean isRunning(){return (m_nState&TS_RUNNING) != 0;} }; } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rhodes-2.0.3 | platform/shared/common/RhoThread.h |