All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
EmscriptenMainThreadWorkPool.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "IWorkPool.h"
7 #include <deque>
8 
9 namespace Eegeo
10 {
11  namespace Emscripten
12  {
14  {
15  public:
18 
19  void Start();
20  void Stop();
21  void Shutdown();
22  void QueueWork(Concurrency::Tasks::WorkItem* workItem);
23  void Flush();
24  Concurrency::Tasks::TaskWorkPoolState::Values GetState() const;
25 
26  private:
27  std::deque<Concurrency::Tasks::WorkItem*> m_workItems;
28  };
29  }
30 }