cartobase  5.0.5
carto::Thread Class Referenceabstract

Short usage: More...

#include <cartobase/thread/thread.h>

Inheritance diagram for carto::Thread:

Public Member Functions

 Thread ()
 
virtual ~Thread ()
 
virtual void launch ()
 This is the function which should actually called to run a thread. More...
 
virtual void start ()
 Call launch(), not start() More...
 
virtual void run ()
 Call launch(), not run() More...
 
virtual void stop ()
 
virtual void reset ()
 
virtual void join ()
 
virtual void detach ()
 
void setSuicideSafe (bool x=true)
 In suicide-safe mode, Thread can be deleted (or auto-deleted) while the threaded job is still running: doPostLaunch() and stop() are not executed. More...
 
bool isSuicideSafe () const
 
virtual void setCancellable (bool value, bool callStop)
 
virtual void cancel ()
 
virtual bool isActive () const
 
virtual bool isCurrent () const
 

Static Public Member Functions

static bool currentIsMainThread ()
 
static void * bootstrap (void *thread)
 

Protected Member Functions

virtual void testCancel ()
 
virtual void doStart ()
 
virtual void doRun ()=0
 
virtual void doStop ()
 
virtual void doPreLaunch ()
 
virtual void doPostLaunch ()
 

Protected Attributes

bool _detached
 
bool _cancellable
 
bool _callStop
 

Detailed Description

Short usage:

Definition at line 52 of file thread.h.

Constructor & Destructor Documentation

◆ Thread()

carto::Thread::Thread ( )

◆ ~Thread()

virtual carto::Thread::~Thread ( )
virtual

Member Function Documentation

◆ bootstrap()

static void* carto::Thread::bootstrap ( void *  thread)
static

◆ cancel()

virtual void carto::Thread::cancel ( )
virtual

◆ currentIsMainThread()

static bool carto::Thread::currentIsMainThread ( )
static

◆ detach()

virtual void carto::Thread::detach ( )
virtual

◆ doPostLaunch()

virtual void carto::Thread::doPostLaunch ( )
protectedvirtual

◆ doPreLaunch()

virtual void carto::Thread::doPreLaunch ( )
protectedvirtual

◆ doRun()

virtual void carto::Thread::doRun ( )
protectedpure virtual

Implemented in carto::LoopThread.

◆ doStart()

virtual void carto::Thread::doStart ( )
protectedvirtual

◆ doStop()

virtual void carto::Thread::doStop ( )
protectedvirtual

◆ isActive()

virtual bool carto::Thread::isActive ( ) const
virtual

◆ isCurrent()

virtual bool carto::Thread::isCurrent ( ) const
virtual

◆ isSuicideSafe()

bool carto::Thread::isSuicideSafe ( ) const

◆ join()

virtual void carto::Thread::join ( )
virtual

◆ launch()

virtual void carto::Thread::launch ( )
virtual

This is the function which should actually called to run a thread.

◆ reset()

virtual void carto::Thread::reset ( )
virtual

◆ run()

virtual void carto::Thread::run ( )
virtual

Call launch(), not run()

◆ setCancellable()

virtual void carto::Thread::setCancellable ( bool  value,
bool  callStop 
)
virtual

◆ setSuicideSafe()

void carto::Thread::setSuicideSafe ( bool  x = true)

In suicide-safe mode, Thread can be deleted (or auto-deleted) while the threaded job is still running: doPostLaunch() and stop() are not executed.

Warning: it doesn't imply the thread is detached (if not, you may have to join() it to cleanup).

◆ start()

virtual void carto::Thread::start ( )
virtual

Call launch(), not start()

◆ stop()

virtual void carto::Thread::stop ( )
virtual

◆ testCancel()

virtual void carto::Thread::testCancel ( )
protectedvirtual

Member Data Documentation

◆ _callStop

bool carto::Thread::_callStop
protected

Definition at line 101 of file thread.h.

◆ _cancellable

bool carto::Thread::_cancellable
protected

Definition at line 100 of file thread.h.

◆ _detached

bool carto::Thread::_detached
protected

Definition at line 99 of file thread.h.


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