BWAPI
|
00001 #pragma once 00002 #include "Macro/MacroManager/TaskStreamObserver.h" 00003 #include "Macro/MacroManager/TaskStream.h" 00004 class BasicTaskExecutor : public TaskStreamObserver 00005 { 00006 public: 00007 static BasicTaskExecutor* getInstance(); 00008 virtual void attached(TaskStream* ts); 00009 virtual void detached(TaskStream* ts); 00010 virtual void newStatus(TaskStream* ts); 00011 virtual void completedTask(TaskStream* ts, const Task &t); 00012 virtual void update(TaskStream* ts); 00013 void computeIsExecuting(TaskStream* ts); 00014 void computeIsCompleted(TaskStream* ts); 00015 void computeIsReady(TaskStream* ts); 00016 void getReady(TaskStream* ts); 00017 void execute(TaskStream* ts); 00018 private: 00019 struct data 00020 { 00021 bool isReady; 00022 int targetLevel; 00023 }; 00024 std::map< TaskStream*, data > taskStreams; 00025 };