/[projects]/smsdaemon/TaskManager.cpp
ViewVC logotype

Diff of /smsdaemon/TaskManager.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 96 by torben, Mon Jun 16 14:04:19 2008 UTC revision 157 by torben, Mon Dec 8 21:28:40 2008 UTC
# Line 1  Line 1 
1                    
2  #include "TaskManager.h"  #include "TaskManager.h"
3    
4  #include "common.h"  #include "Logger.h"
5    
6  #include <time.h>  #include <time.h>
7    
8    #include "tasks/SpoolTask.h"
9    
10    
11  TaskManager::TaskManager()  TaskManager::TaskManager()
12   : _lastExecuted(0)   : _lastExecuted(0)
13  {  {
# Line 23  TaskManager::~TaskManager() Line 26  TaskManager::~TaskManager()
26    
27  void TaskManager::LoadTasks()  void TaskManager::LoadTasks()
28  {  {
29            static SpoolTask task;
30    
31            //print the loaded tasks
32            std::map<std::string, Task*>::iterator it;      
33            for(it = _persistant_tasks.begin(); it != _persistant_tasks.end(); ++it)
34            {
35                    Task* tsk = (*it).second;
36                    if (tsk != 0)
37                            Logger::logMessage( std::string("Loaded task \"") + tsk->GetName() + "\"" );
38            }
39  }  }
40    
41    
42  void TaskManager::AddTask(Task* task)  void TaskManager::AddPersistantTask(Task* task)
43  {  {
         Common* cmn = Common::instance();  
44    
45          if (task != 0)          if (task != 0)
46          {          {
47                  std::string name = task->GetName();                  std::string name = task->GetName();
48    
49                  if ( _tasks[ name ] == 0)                  if ( _persistant_tasks[ name ] == 0)
50                          _tasks[ name ] = task;                          _persistant_tasks[ name ] = task;
51                  else                  else
52                          cmn->logMessage( std::string("AddTask() -- already have a task called ") + name);                          Logger::logMessage( std::string("AddTask() -- already have a task called ") + name);
53          }          }
54          else          else
55          {          {
56                  cmn->logMessage("AddTask() -- cannot register a null pointer");                  Logger::logMessage("AddTask() -- cannot register a null pointer");
57          }          }
58  }  }
59    
# Line 52  void TaskManager::AddTemporaryTask(Task* Line 63  void TaskManager::AddTemporaryTask(Task*
63  }  }
64    
65    
66  void TaskManager::ExecuteTasks(IGsmModem& modem)  void TaskManager::ExecuteTasks(ISmsTransceiver& modem)
67  {  {
68          const int SLEEP_TIME = 10; //wait at least 10 seconds between executions          const int SLEEP_TIME = 10; //wait at least 10 seconds between executions
69          int now = time(0);          int now = time(0);
# Line 66  void TaskManager::ExecuteTasks(IGsmModem Line 77  void TaskManager::ExecuteTasks(IGsmModem
77    
78          std::map<std::string, Task*>::iterator m_it;          std::map<std::string, Task*>::iterator m_it;
79    
80          for (m_it = _tasks.begin(); m_it != _tasks.end(); ++m_it)          for (m_it = _persistant_tasks.begin(); m_it != _persistant_tasks.end(); ++m_it)
81          {          {
82                  Task* tsk = (*m_it).second;                  Task* tsk = (*m_it).second;
83                  tsk->ExecuteTask(modem);                  tsk->ExecuteTask(modem);
# Line 95  void TaskManager::ExecuteTasks(IGsmModem Line 106  void TaskManager::ExecuteTasks(IGsmModem
106  }  }
107    
108    
109  Task* TaskManager::GetTask(const std::string& taskname)  Task* TaskManager::GetPersistantTask(const std::string& taskname)
110  {  {
111          return _tasks[ taskname ];          return _persistant_tasks[ taskname ];
112  }  }
113    
114    

Legend:
Removed from v.96  
changed lines
  Added in v.157

  ViewVC Help
Powered by ViewVC 1.1.20