#include "TaskManager.h" #include "common.h" #include TaskManager::TaskManager() : _lastExecuted(0) { } TaskManager::~TaskManager() { } void TaskManager::LoadTasks() { } void TaskManager::ExecuteTasks(IGsmModem& modem) { const int SLEEP_TIME = 10; //wait at least 10 seconds between executions int now = time(0); if (now > (_lastExecuted + SLEEP_TIME) ) { _lastExecuted = now; std::map::iterator it; for (it = _tasks.begin(); it != _tasks.end(); ++it) { Task* tsk = (*it).second; tsk->ExecuteTask(modem); } } } Task* TaskManager::GetTask(const std::string& taskname) { return _tasks[ taskname ]; } std::vector TaskManager::GetTaskList() { typedef std::map::iterator MapIterator; std::vector task_list; for (MapIterator it = _tasks.begin(); it != _tasks.end(); ++it) { Task* pl = (*it).second; task_list.push_back(pl); } return task_list; }