21 |
} |
} |
22 |
|
|
23 |
|
|
24 |
void TaskManager::ExecuteTasks() |
void TaskManager::ExecuteTasks(IGsmModem& modem) |
25 |
{ |
{ |
26 |
|
const int SLEEP_TIME = 10; //wait at least 10 seconds between executions |
27 |
int now = time(0); |
int now = time(0); |
28 |
|
|
29 |
if (now > _lastExecuted) // only execute the tasks once every second |
if (now > (_lastExecuted + SLEEP_TIME) ) |
30 |
{ |
{ |
31 |
_lastExecuted = now; |
_lastExecuted = now; |
32 |
|
|
35 |
for (it = _tasks.begin(); it != _tasks.end(); ++it) |
for (it = _tasks.begin(); it != _tasks.end(); ++it) |
36 |
{ |
{ |
37 |
Task* tsk = (*it).second; |
Task* tsk = (*it).second; |
38 |
tsk->ExecuteTask(); |
tsk->ExecuteTask(modem); |
39 |
} |
} |
40 |
} |
} |
41 |
} |
} |