00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SGanttLog.h,v 1.3 2002/11/10 20:32:20 taeubig Exp $ 00008 00009 Purpose : this logger builds a gantt chart. it collects JOBALLOCATED 00010 and JOBDEALLOCATED events and gives the necessary informations 00011 to the gantt chart 00012 00013 RCS-Log: 00014 $Log: SGanttLog.h,v $ 00015 Revision 1.3 2002/11/10 20:32:20 taeubig 00016 namespace and header include changes 00017 00018 Revision 1.2 2002/09/27 13:33:50 taeubig 00019 SGanttLog is now also SObservable and implements update() 00020 00021 Revision 1.1 2002/08/29 12:59:58 taeubig 00022 Added the sources 00023 00024 Revision 1.7 2000/01/17 10:17:26 zoidl 00025 little changes in javadocs 00026 00027 Revision 1.6 2000/01/11 19:44:43 zoidl 00028 reset gantt chart also on EDITEVENTs 00029 00030 Revision 1.5 2000/01/11 12:55:14 zoidl 00031 added javadoc comments 00032 00033 Revision 1.4 1999/12/29 10:14:39 zoidl 00034 bugs around reset() removed 00035 00036 Revision 1.3 1999/12/22 14:54:20 zoidl 00037 reset chart on JOBRESET-event 00038 00039 Revision 1.2 1999/12/14 11:33:25 zoidl 00040 added SGanttChart::reset(), call before new scheduling ! 00041 00042 Revision 1.1 1999/12/13 20:13:28 zoidl 00043 Gantt charts are build by SChartLog now, added support for shop jobs 00044 00045 00046 * #end# ************************************************************* */ 00047 00048 #ifndef SGANTTLOG_H 00049 #define SGANTTLOG_H 00050 00051 // system header files 00052 00053 // project header files 00054 #include "SLogger.h" 00055 #include "SGanttChart.h" 00056 00066 class SGanttLog : public virtual SLogger, public SObservable 00067 { 00068 public: 00074 SGanttLog(STaskSystem& ts, bool registerAsObserver=true); 00075 00079 virtual ~SGanttLog(); 00080 00085 virtual void feedEvent(const SEvent& ev); 00086 00087 virtual void update(const SEvent& event); 00088 00093 const SGanttChart& getChart() const 00094 { return _chart; }; 00095 00096 private: 00097 // to get access to simTime 00098 STaskSystem& _rTaskSys; 00099 // did we register as observer 00100 bool _regAsObserver; 00101 // the Gantt Chart 00102 SGanttChart _chart; 00103 // to avoid to much resetting 00104 bool _isResetted; 00105 }; 00106 00107 #endif