32 #ifndef _NPT_THREADS_H_    33 #define _NPT_THREADS_H_    39 #include "NptConstants.h"    40 #include "NptInterfaces.h"    45 const int NPT_ERROR_CALLBACK_HANDLER_SHUTDOWN = NPT_ERROR_BASE_THREADS-0;
    46 const int NPT_ERROR_CALLBACK_NOTHING_PENDING  = NPT_ERROR_BASE_THREADS-1;
    51 const int NPT_THREAD_PRIORITY_MIN           = -15;
    52 const int NPT_THREAD_PRIORITY_IDLE          = -15;
    53 const int NPT_THREAD_PRIORITY_LOWEST        =  -2;
    54 const int NPT_THREAD_PRIORITY_BELOW_NORMAL  =  -1;
    55 const int NPT_THREAD_PRIORITY_NORMAL        =   0;
    56 const int NPT_THREAD_PRIORITY_ABOVE_NORMAL  =   1;
    57 const int NPT_THREAD_PRIORITY_HIGHEST       =   2;
    58 const int NPT_THREAD_PRIORITY_TIME_CRITICAL =  15;
    59 const int NPT_THREAD_PRIORITY_MAX           =  15;
    69     virtual NPT_Result Lock()   = 0;
    70     virtual NPT_Result Unlock() = 0;
    81               ~
NPT_Mutex()
 override { 
delete m_Delegate; }
    82     NPT_Result Lock()
 override   { 
return m_Delegate->Lock();   }
    83     NPT_Result Unlock()
 override { 
return m_Delegate->Unlock(); }
   112 template <
typename T> 
   140     virtual void       SetValue(
int value)= 0;
   141     virtual int        GetValue()         = 0;
   142     virtual NPT_Result WaitUntilEquals(
int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) = 0;
   143     virtual NPT_Result WaitWhileEquals(
int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) = 0;
   155     void SetValue(
int value)
 override { 
   156         m_Delegate->SetValue(value); 
   158     int GetValue()
 override { 
   159         return m_Delegate->GetValue(); 
   161     NPT_Result WaitUntilEquals(
int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE)
 override { 
   162         return m_Delegate->WaitUntilEquals(value, timeout); 
   164     NPT_Result WaitWhileEquals(
int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE)
 override { 
   165         return m_Delegate->WaitWhileEquals(value, timeout); 
   181     virtual  int  Increment() = 0;
   182     virtual  int  Decrement() = 0;
   183     virtual  int  GetValue()  = 0;
   184     virtual  void SetValue(
int value)  = 0;
   196     int  Increment()
 override          { 
return m_Delegate->Increment();}
   197     int  Decrement()
 override          { 
return m_Delegate->Decrement();}
   198     void SetValue(
int value)
 override  { m_Delegate->SetValue(value);   }
   199     int  GetValue()
 override           { 
return m_Delegate->GetValue(); }
   213     virtual void Run() = 0;
   224     virtual NPT_Result Start() = 0;
   225     virtual NPT_Result Wait(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) = 0;
   226     virtual NPT_Result SetPriority(
int ) { 
return NPT_SUCCESS; } 
   227     virtual NPT_Result CancelBlockerSocket() = 0;
   228     virtual NPT_Result GetPriority(
int& priority) = 0;
   238     typedef NPT_UInt64 ThreadId;
   241     static ThreadId   GetCurrentThreadId();
   242     static NPT_Result SetCurrentThreadPriority(
int priority);
   243     static NPT_Result GetCurrentThreadPriority(
int& priority);
   251     NPT_Result CancelBlockerSocket()
 override { 
return m_Delegate->CancelBlockerSocket(); }
   254     NPT_Result Start()
 override { 
   255         return m_Delegate->Start(); 
   257     NPT_Result Wait(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE)
 override  { 
   258         return m_Delegate->Wait(timeout);  
   260     NPT_Result SetPriority(
int priority)
 override {
   261         return m_Delegate->SetPriority(priority);
   263     NPT_Result GetPriority(
int& priority)
 override {
   264         return m_Delegate->GetPriority(priority);
   268     void Run()
 override {}
   271     NPT_Result Interrupt()
 override { 
return m_Delegate->Interrupt(); }
   286     virtual void OnCallback(
void* args) = 0;
   299         virtual void Notify(
void) = 0;
   307     NPT_Result SendCallback(
void* args);
   309     NPT_Result Shutdown();
   313     volatile void*      m_CallbackArgs;
   314     volatile bool       m_Shutdown;
   322 #endif // _NPT_THREADS_H_ Definition: NptThreads.h:234
Definition: NptInterfaces.h:81
Definition: NptThreads.h:209
Definition: NptThreads.h:76
Definition: NptThreads.h:176
Definition: NptThreads.h:149
Definition: NptThreads.h:190
Definition: NptThreads.h:93
Definition: NptThreads.h:64
Definition: NptThreads.h:282
Definition: NptThreads.h:113
Definition: NptThreads.h:219
Definition: NptThreads.h:121
Definition: NptThreads.h:296
Definition: NptThreads.h:135
Definition: NptThreads.h:292