The MThread class implements a multithreading mechanism.  
 More...
#include <Thread.h>
 | 
|   | Thread () | 
|   | 
|   | ~Thread () | 
|   | The destructor calls MThread::Stop to clean up.  More...
  | 
|   | 
| virtual bool  | Start (int(*thread_func)(void *), const char *name, void *data)=0 | 
|   | Start Starts the function given as argument in this thread.  More...
  | 
|   | 
| virtual void  | Stop ()=0 | 
|   | Stop Stops this thread.  More...
  | 
|   | 
| virtual int  | WaitForReturn ()=0 | 
|   | WaitForReturn Waits for thread_func from MThread::Start to return a value.  More...
  | 
|   | 
| bool  | IsRunning () | 
|   | IsRunning Returns if the thread is currently running.  More...
  | 
|   | 
| void  | SetRunning (bool value) | 
|   | 
| virtual int  | GetId ()=0 | 
|   | GetId Gets the thread ID from SDL and returns it.  More...
  | 
|   | 
| virtual Thread *  | getNew ()=0 | 
|   | Creates a new thread object. Should be overwritten by child classes.  More...
  | 
|   | 
The MThread class implements a multithreading mechanism. 
- Bug:
 - Should this class be here, in MEngine or somewhere else?
 
- See also
 - MSemaphore 
 
- 
MSleep 
 
 
The destructor calls MThread::Stop to clean up. 
 
 
  
  
      
        
          | virtual int Neo::Thread::GetId  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
GetId Gets the thread ID from SDL and returns it. 
- Returns
 - The thread ID. 
 
 
 
  
  
      
        
          | virtual Thread* Neo::Thread::getNew  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
Creates a new thread object. Should be overwritten by child classes. 
- Returns
 
 
 
  
  
      
        
          | bool Neo::Thread::IsRunning  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
IsRunning Returns if the thread is currently running. 
- Returns
 - Is this thread running? 
 
 
 
  
  
      
        
          | void Neo::Thread::SetRunning  | 
          ( | 
          bool  | 
          value | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
  
  
      
        
          | virtual bool Neo::Thread::Start  | 
          ( | 
          int(*)(void *)  | 
          thread_func,  | 
         
        
           | 
           | 
          const char *  | 
          name,  | 
         
        
           | 
           | 
          void *  | 
          data  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
pure virtual   | 
  
 
Start Starts the function given as argument in this thread. 
The data argument will be given to the thread function when the thread starts.
The function has to look like: 
- Parameters
 - 
  
    | thread_func | Function that will be executed when thread starts.  | 
    | name | The name of the thread. For example 'input' or 'update'  | 
    | data | Data that needs to be pushed to the thread function.  | 
  
   
- Returns
 - Returns true on success, false on failure. 
 
 
 
  
  
      
        
          | virtual void Neo::Thread::Stop  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
Stop Stops this thread. 
This would force quit the thread on older versions of SDL. In this version (2.x) it only calls MThread::WaitForReturn and cleans up all private variables. 
 
 
  
  
      
        
          | virtual int Neo::Thread::WaitForReturn  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
WaitForReturn Waits for thread_func from MThread::Start to return a value. 
- Returns
 - The exit value of thread_func. 
 
 
 
The documentation for this class was generated from the following file: