40#ifndef WORK_QUEUE_HPP_ 
   41#define WORK_QUEUE_HPP_ 
   51#define DEFAULT_MAX_WORK_ITEMS          10 
   52#define DEFAULT_WORK_QUEUE_STACK_SIZE   (configMINIMAL_STACK_SIZE * 2) 
   53#define DEFAULT_WORK_QUEUE_PRIORITY     (tskIDLE_PRIORITY + 1) 
   87        WorkItem(
bool freeAfterComplete = 
false);
 
 
  146                    uint16_t StackDepth = DEFAULT_WORK_QUEUE_STACK_SIZE,
 
  147                    UBaseType_t Priority = DEFAULT_WORK_QUEUE_PRIORITY,
 
  148                    UBaseType_t MaxWorkItems = DEFAULT_MAX_WORK_ITEMS);
 
  159        WorkQueue(  uint16_t StackDepth = DEFAULT_WORK_QUEUE_STACK_SIZE,
 
  160                    UBaseType_t Priority = DEFAULT_WORK_QUEUE_PRIORITY,
 
  161                    UBaseType_t MaxWorkItems = DEFAULT_MAX_WORK_ITEMS);
 
  163#if (INCLUDE_vTaskDelete == 1) 
  177#if __cplusplus >= 201103L 
 
const uint16_t StackDepth
 
Thread(const std::string Name, uint16_t StackDepth, UBaseType_t Priority)
 
WorkItem(bool freeAfterComplete=false)
 
const bool FreeItemAfterCompleted
 
const WorkQueue * ParentWorkQueue
 
CWorkerThread(const char *const Name, uint16_t StackDepth, UBaseType_t Priority, WorkQueue *Parent)
 
BinarySemaphore * ThreadComplete
 
WorkQueue(const char *const Name, uint16_t StackDepth=DEFAULT_WORK_QUEUE_STACK_SIZE, UBaseType_t Priority=DEFAULT_WORK_QUEUE_PRIORITY, UBaseType_t MaxWorkItems=DEFAULT_MAX_WORK_ITEMS)
 
bool QueueWork(WorkItem *work)
 
CWorkerThread * WorkerThread