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

Diff of /smsdaemon/TaskManager.cpp

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

revision 208 by torben, Sun Dec 21 18:41:08 2008 UTC revision 520 by torben, Sat Dec 26 23:01:01 2009 UTC
# Line 148  void TaskManager::ExecuteTasks(ISmsTrans Line 148  void TaskManager::ExecuteTasks(ISmsTrans
148          //execute temporary tasks          //execute temporary tasks
149    
150          std::list<Task*>::iterator l_it;          std::list<Task*>::iterator l_it;
151          for (l_it = _temp_tasks.begin(); l_it != _temp_tasks.end(); ++l_it)          for (l_it = _temp_tasks.begin(); l_it != _temp_tasks.end(); )
152          {          {
153                  Task* tsk = (*l_it);                  Task* tsk = (*l_it);
154    
155                  tsk->ExecuteTask(modem);                  tsk->ExecuteTask(modem);
156    
157                  if ( tsk->IsFinished() )                  if ( tsk->IsFinished() )
# Line 159  void TaskManager::ExecuteTasks(ISmsTrans Line 160  void TaskManager::ExecuteTasks(ISmsTrans
160                          l_it = _temp_tasks.erase(l_it);                          l_it = _temp_tasks.erase(l_it);
161    
162                          //now l_it points to the next element in the list,                          //now l_it points to the next element in the list,
163                          //but since the for() loop will increment it before next iteration we will decrease it here                  } else {
164                          --l_it;                          ++l_it; //advance pointer as normal
165                  }                  }      
166          }          }
167    
168    
# Line 170  void TaskManager::ExecuteTasks(ISmsTrans Line 171  void TaskManager::ExecuteTasks(ISmsTrans
171    
172  Task* TaskManager::GetPersistantTask(const std::string& taskname)  Task* TaskManager::GetPersistantTask(const std::string& taskname)
173  {  {
174          return _persistant_tasks[ taskname ];          std::map<std::string, Task*>::iterator it;
175            it = _persistant_tasks.find(taskname);
176            if (it != _persistant_tasks.end())
177                    return it->second;
178            else
179                    return 0;
180  }  }
181    
182    

Legend:
Removed from v.208  
changed lines
  Added in v.520

  ViewVC Help
Powered by ViewVC 1.1.20