LRAUV  revA
ScheduledItem.h
Go to the documentation of this file.
1 /*
2  * ScheduledItem.h
3  *
4  * Created on: Dec 3, 2013
5  * Author: godin
6  */
7 
8 #include "logger/Logger.h"
9 #include "utils/FastMap.h"
10 
11 #ifndef SCHEDULEDITEM_H_
12 #define SCHEDULEDITEM_H_
13 
15 {
16 public:
17 
18  ScheduledItem( const Str& cmd, const Str& id, int idIndex, int idCount )
19  : cmd_( cmd ),
21  id_( id ),
22  idIndex_( idIndex ),
23  idCount_( idCount ),
24  ready_( id == Str::EMPTY_STR )
25  {}
27  {
28  return cmd_;
29  }
30  int getIndex()
31  {
32  return index_;
33  }
35  {
36  return id_;
37  }
38  int getIdIndex()
39  {
40  return idIndex_;
41  }
42 
43  int getIdCount()
44  {
45  return idCount_;
46  }
47 
48  static void AddNext( ScheduledItem* item, Logger& logger );
49  static void AddTimed( const Timestamp& timestamp, ScheduledItem* item, Logger& logger );
50  static void Clear( const Str& id, Logger& logger );
51  static void DoScheduled( Logger& logger );
52  static void List( Logger& logger );
53  static void Pause( Syslog::Severity schedulePauseSeverity, Timestamp pauseTime, Logger& logger );
54  static void Resume( Logger& logger );
55  static bool Remove( int index, Logger& logger, bool quiet );
56  static void ShowPaused( Logger& logger );
57 
58 protected:
60  int index_;
62  int idIndex_;
63  int idCount_;
64  bool ready_;
65 
66  static int ScheduleIndex_;
71 
72 
73 };
74 
75 #endif /* SCHEDULEDITEM_H_ */
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
Str & getCmd()
Definition: ScheduledItem.h:26
Definition: ScheduledItem.h:14
int getIndex()
Definition: ScheduledItem.h:30
static void Clear(const Str &id, Logger &logger)
Definition: ScheduledItem.cpp:191
static void List(Logger &logger)
Definition: ScheduledItem.cpp:255
static void AddNext(ScheduledItem *item, Logger &logger)
Definition: ScheduledItem.cpp:22
int getIdCount()
Definition: ScheduledItem.h:43
Str cmd_
Definition: ScheduledItem.h:59
static void DoScheduled(Logger &logger)
Definition: ScheduledItem.cpp:213
Str id_
Definition: ScheduledItem.h:61
static void ShowPaused(Logger &logger)
Definition: ScheduledItem.cpp:379
Str & getId()
Definition: ScheduledItem.h:34
static Timestamp SchedulePauseTime_
Definition: ScheduledItem.h:69
int getIdIndex()
Definition: ScheduledItem.h:38
bool ready_
Definition: ScheduledItem.h:64
static void Resume(Logger &logger)
Definition: ScheduledItem.cpp:325
ScheduledItem(const Str &cmd, const Str &id, int idIndex, int idCount)
Definition: ScheduledItem.h:18
int idCount_
Definition: ScheduledItem.h:63
int index_
Definition: ScheduledItem.h:60
static FlexArray< ScheduledItem * > ScheduledNext_
Definition: ScheduledItem.h:67
static int ScheduleIndex_
Definition: ScheduledItem.h:66
Replacement for standard template class string.
Definition: Str.h:12
static void Pause(Syslog::Severity schedulePauseSeverity, Timestamp pauseTime, Logger &logger)
Definition: ScheduledItem.cpp:306
Contains the FastMap class declaration.
Contains the Logger class definition.
int idIndex_
Definition: ScheduledItem.h:62
Severity
An attempt to define different levels of syslog severity.
Definition: Syslog.h:28
static Syslog::Severity SchedulePauseSeverity_
Definition: ScheduledItem.h:70
static FastMap< const Timestamp, ScheduledItem * > Scheduled_
Definition: ScheduledItem.h:68
static void AddTimed(const Timestamp &timestamp, ScheduledItem *item, Logger &logger)
Definition: ScheduledItem.cpp:94
Represents absolute times.
Definition: Timestamp.h:31
static bool Remove(int index, Logger &logger, bool quiet)
Definition: ScheduledItem.cpp:336