/[projects]/smsdaemon/Task.h
ViewVC logotype

Diff of /smsdaemon/Task.h

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

revision 149 by torben, Sun Dec 7 20:58:41 2008 UTC revision 196 by torben, Thu Dec 18 06:53:29 2008 UTC
# Line 7  class ISmsTransceiver; Line 7  class ISmsTransceiver;
7    
8  /* A Task is some piece of code that must be executed regularly, no matter whether  /* A Task is some piece of code that must be executed regularly, no matter whether
9   * the daemon has received any SMS.   * the daemon has received any SMS.
10   *   *
11   * Tasks exist in two flavours: persistant and temporary.   * Tasks exist in two flavours: persistant and temporary.
12   *   *
13   * A persistant task is one which lives throughout the execution of the smsdaemon instance.   * A persistant task is one which lives throughout the execution of the smsdaemon instance.
14   * A pointer to a persistant task can be retrieved via TaskManager::GetTask(std::string name),   * A pointer to a persistant task can be retrieved via TaskManager::GetTask(std::string name),
15   * and thus it must have a unique name.   * and thus it must have a unique name.
16   *   *
17   * A temporary tasks is of a more short-lived nature. It behaves like a fire-and-forget piece of code.   * A temporary tasks is of a more short-lived nature. It behaves like a fire-and-forget piece of code.
18   * A temporary task can be created at any time by any piece of code. This creation must be dynamicaly   * A temporary task can be created at any time by any piece of code. This creation must be dynamicaly
19   * through the new() operator. When created it registers itself with the task manager, and here after any   * through the new() operator. When created it registers itself with the task manager, and here after any
20   * references to the task must be nulled.   * references to the task must be nulled.
21   * When the temporary task has done its work it must set the protected variale to true, and the   * When the temporary task has done its work it must set the protected variale to true, and the
22   * task instance will here after be deleted by the task-manager.   * task instance will here after be deleted by the task-manager.
23   * Temporary tasks does not need a unique name, and once created you cannot get a pointer to it again.   * Temporary tasks does not need a unique name, and once created you cannot get a pointer to it again.
24   */   */
25    
# Line 28  class Task Line 28  class Task
28  public:  public:
29          Task(std::string name, bool isTemporary);          Task(std::string name, bool isTemporary);
30    
31          std::string GetName() {return _name;}          std::string GetName()
32                    {
33                    return _name;
34            }
35    
36          virtual void ExecuteTask(ISmsTransceiver& modem) = 0;          virtual void ExecuteTask(ISmsTransceiver& modem) = 0;
37    
38          bool IsTemporary() { return _isTemporary; }              bool IsTemporary()
39          bool IsFinished() { return _isFinished; }          {
40                    return _isTemporary;
41            }
42            bool IsFinished()
43            {
44                    return _isFinished;
45            }
46    
47          virtual ~Task() {}          virtual ~Task() {}
48  protected:  protected:

Legend:
Removed from v.149  
changed lines
  Added in v.196

  ViewVC Help
Powered by ViewVC 1.1.20