--- smsdaemon/TaskManager.cpp 2008/12/06 19:30:20 129 +++ smsdaemon/TaskManager.cpp 2008/12/18 06:53:29 196 @@ -1,17 +1,20 @@ - + #include "TaskManager.h" -#include "common.h" +#include "Logger.h" #include +#include "tasks/SpoolTask.h" + + TaskManager::TaskManager() - : _lastExecuted(0) + : _lastExecuted(0) { } - + TaskManager::~TaskManager() -{ +{ //delete any temporary tasks still in the list std::list::iterator it; for (it = _temp_tasks.begin(); it != _temp_tasks.end(); ++it) @@ -23,21 +26,21 @@ void TaskManager::LoadTasks() { + static SpoolTask task; //print the loaded tasks - std::map::iterator it; - for(it = _persistant_tasks.begin(); it != _persistant_tasks.end(); ++it) + std::map::iterator it; + for (it = _persistant_tasks.begin(); it != _persistant_tasks.end(); ++it) { Task* tsk = (*it).second; if (tsk != 0) - Common::instance()->logMessage( std::string("Loaded task \"") + tsk->GetName() + "\"" ); + Logger::logMessage( std::string("Loaded task \"") + tsk->GetName() + "\"" ); } } void TaskManager::AddPersistantTask(Task* task) { - Common* cmn = Common::instance(); if (task != 0) { @@ -46,11 +49,11 @@ if ( _persistant_tasks[ name ] == 0) _persistant_tasks[ name ] = task; else - cmn->logMessage( std::string("AddTask() -- already have a task called ") + name); + Logger::logMessage( std::string("AddTask() -- already have a task called ") + name); } else { - cmn->logMessage("AddTask() -- cannot register a null pointer"); + Logger::logMessage("AddTask() -- cannot register a null pointer"); } } @@ -60,12 +63,12 @@ } -void TaskManager::ExecuteTasks(IGsmModem& modem) +void TaskManager::ExecuteTasks(ISmsTransceiver& modem) { - const int SLEEP_TIME = 10; //wait at least 10 seconds between executions + const int SLEEP_TIME = 2; //wait this long between task executions int now = time(0); - if (now < (_lastExecuted + SLEEP_TIME) ) + if (now < (_lastExecuted + SLEEP_TIME) ) return; _lastExecuted = now; @@ -91,11 +94,11 @@ if ( tsk->IsFinished() ) { delete tsk; - l_it = _temp_tasks.erase(l_it); - + l_it = _temp_tasks.erase(l_it); + //now l_it points to the next element in the list, //but since the for() loop will increment it before next iteration we will decrease it here - --l_it; + --l_it; } }