00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: STaskSystemMod.h,v 1.7 2003/04/12 11:34:56 meierb Exp $ 00008 00009 Purpose : 00010 00011 RCS-Log: 00012 $Log: STaskSystemMod.h,v $ 00013 Revision 1.7 2003/04/12 11:34:56 meierb 00014 some comments added 00015 00016 Revision 1.6 2003/03/13 19:24:03 taeubig 00017 prob.dists in new dir, other changes, removed log messages 00018 00019 Revision 1.5 2003/01/08 18:57:12 meierb 00020 added randomized release times 00021 00022 Revision 1.3 2002/12/11 22:27:03 meierb 00023 *** empty log message *** 00024 00025 Revision 1.2 2002/12/03 17:05:22 meierb 00026 little changes for new files 00027 00028 Revision 1.1.1.1 2002/12/02 22:26:19 meierb 00029 my_schedule 00030 00031 Revision 1.3 2002/11/11 16:52:52 taeubig 00032 header include changes 00033 00034 Revision 1.2 2002/11/09 17:19:09 taeubig 00035 <iostream> inclusion, added std:: 00036 00037 Revision 1.1 2002/08/29 12:59:58 taeubig 00038 Added the sources 00039 00040 Revision 1.14 2000/05/29 19:54:26 taeubig 00041 New subdirectory structure 00042 00043 Revision 1.13 2000/05/24 12:46:30 taeubig 00044 New compiler (gcc-2.95) and new Qt (2.1) 00045 Replaced "list" by "leda_list" etc. 00046 00047 Revision 1.12 2000/01/29 19:27:37 zoidl 00048 added javadoc 00049 00050 Revision 1.11 2000/01/12 02:29:30 taeubig 00051 Changed interface for clone() 00052 Deleted getX() functions in getXMod classes 00053 00054 Revision 1.10 2000/01/08 19:04:09 taeubig 00055 Started implementation of clone() functions 00056 00057 Revision 1.9 1999/11/10 07:56:25 schickin 00058 comment added: clarified role of compressJobArray() 00059 00060 Revision 1.8 1999/11/08 00:25:29 zoidl 00061 add/del one job, compressJobArray 00062 00063 Revision 1.7 1999/10/13 14:43:47 zoidl 00064 added deletion of jobs in tasksystem and prec relation, and ´edges´ in 00065 load() of DAG to enable precedence 00066 00067 Revision 1.6 1999/10/05 13:42:35 zoidl 00068 lots of new load- and save-routines 00069 00070 Revision 1.5 1999/04/23 13:24:33 schickin 00071 just transferring things to hpmayr 00072 00073 Revision 1.4 1999/03/31 11:13:35 hall 00074 added a few output operators and save routines 00075 00076 Revision 1.3 1999/03/29 12:49:03 schickin 00077 design of modifiers changed (SFooMod is now a member of SFoo). the stuff 00078 compiles and a simple test program runs fine. 00079 00080 Revision 1.2 1999/03/25 14:13:01 schickin 00081 several changes in /model (no real executable yet) 00082 00083 Revision 1.1 1999/03/23 14:27:00 schickin 00084 a lot of new code in /model: things compile but have no functionality 00085 00086 00087 * #end# ************************************************************* */ 00088 00089 #ifndef STASKSYSTEMMOD_H 00090 #define STASKSYSTEMMOD_H 00091 00092 // system header files 00093 #include <iostream> 00094 00095 #include <LEDA/list.h> 00096 #include <LEDA/array.h> 00097 00098 // project header files 00099 #include "SModifier.h" 00100 #include "jobs/SJob.h" 00101 00102 class STaskSystem; 00103 00107 class STaskSystemMod : public SModifier { 00108 public: 00111 STaskSystemMod(STaskSystem& taskSys) : _taskSys(taskSys) {}; 00112 00117 virtual bool load(std::istream& in); 00118 00122 virtual void save(std::ostream& out) const; 00123 //virtual STaskSystem* clone(); 00124 00125 // OBSOLETE 00126 virtual void sample() {}; 00127 00128 STaskSystem& getTaskSystem() 00129 { return _taskSys; }; 00130 00138 void addJobs(const leda_list<SJob*>& newJobs); 00139 00144 void addJob(SJob* newJob); 00145 00151 void delJobs(leda_list<SJob*>& oldJobs); 00152 00157 void delJob(SJob* oldJob); 00158 00164 void compressJobArray(); 00165 00166 private: 00167 STaskSystem& _taskSys; 00168 }; 00169 00170 #endif //STASKSYSTEMMOD_H