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

Annotation of /smsdaemon/TaskManager.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 92 - (hide annotations) (download)
Mon Jun 16 11:30:20 2008 UTC (15 years, 11 months ago) by torben
File size: 964 byte(s)
No need for Common.h to include TaskManager.h and PluginManager.h


1 torben 26
2     #include "TaskManager.h"
3    
4     #include "common.h"
5    
6 torben 82 #include <time.h>
7 torben 26
8     TaskManager::TaskManager()
9 torben 82 : _lastExecuted(0)
10 torben 26 {
11     }
12    
13     TaskManager::~TaskManager()
14     {
15     }
16    
17    
18     void TaskManager::LoadTasks()
19     {
20    
21     }
22    
23 torben 82
24 torben 92 void TaskManager::ExecuteTasks(IGsmModem& modem)
25 torben 82 {
26 torben 92 const int SLEEP_TIME = 10; //wait at least 10 seconds between executions
27 torben 82 int now = time(0);
28    
29 torben 92 if (now > (_lastExecuted + SLEEP_TIME) )
30 torben 82 {
31     _lastExecuted = now;
32    
33     std::map<std::string, Task*>::iterator it;
34    
35     for (it = _tasks.begin(); it != _tasks.end(); ++it)
36     {
37     Task* tsk = (*it).second;
38 torben 92 tsk->ExecuteTask(modem);
39 torben 82 }
40     }
41     }
42    
43    
44 torben 26 Task* TaskManager::GetTask(const std::string& taskname)
45     {
46     return _tasks[ taskname ];
47     }
48    
49    
50     std::vector<Task*> TaskManager::GetTaskList()
51     {
52     typedef std::map<std::string, Task*>::iterator MapIterator;
53     std::vector<Task*> task_list;
54    
55 torben 82 for (MapIterator it = _tasks.begin(); it != _tasks.end(); ++it)
56 torben 26 {
57     Task* pl = (*it).second;
58     task_list.push_back(pl);
59     }
60    
61    
62     return task_list;
63     }

  ViewVC Help
Powered by ViewVC 1.1.20