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

Contents of /smsdaemon/TaskManager.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 82 - (show annotations) (download)
Sun Jun 15 20:06:39 2008 UTC (15 years, 11 months ago) by torben
File size: 896 byte(s)
Added task infrastructure.

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

  ViewVC Help
Powered by ViewVC 1.1.20