1 #ifndef _cancelablethread_
\r
2 #define _cancelablethread_
\r
4 #include "cancelablerunnable.h"
\r
6 #include <Poco/Thread.h>
\r
8 class CancelableThread:public Poco::Thread
\r
11 CancelableThread():m_runnable(0) {}
\r
12 CancelableThread(CancelableRunnable *runnable):m_runnable(runnable) { start(*runnable); }
\r
21 // CancelableThread takes ownership of runnable and will destroy it in the destructor
\r
22 void Start(CancelableRunnable *runnable) { m_runnable=runnable; start(*runnable); }
\r
24 void Cancel() { if(m_runnable) { m_runnable->Cancel(); } }
\r
25 const bool IsCancelled() { return m_runnable ? m_runnable->IsCancelled() : false; }
\r
29 CancelableRunnable *m_runnable;
\r
33 #endif // _cancelablethread_
\r