00001 # ifndef __sched_h_
00002 #define __sched_h_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "vltPort.h"
00015 #include <math.h>
00016
00017
00018 #include <new>
00019 #include <vector>
00020 #include <algorithm>
00021 #include <map>
00022 #include <fstream>
00023
00024
00025 #include <eccsTestTools.h>
00026 #include <eccs.h>
00027 #include <ECCS.h>
00028 #include <eccsLog.h>
00029 #include <timer.h>
00030 #include "db.h"
00031 #include "tcsmonattr.h"
00032
00034 class tcsmonSched {
00035 private:
00039 vector<nodeGroup*> vTable;
00040
00044 map<vltUINT16,vltUINT16> mPeriod;
00050 map<vltUINT32, nodeGroup*> mTable;
00051
00053 ifstream ifile;
00055 vltUINT16 period;
00057 map<vltUINT32, nodeGroup*>::iterator mi;
00059 bool ok;
00060
00061 protected:
00069 ccsCOMPL_STAT checkGidAttr(node *n);
00070
00071 public:
00073 tcsmonSched(const char*);
00075 virtual ~tcsmonSched();
00077 void print(void);
00078
00090 ccsCOMPL_STAT getType(char* symAddr, node& n);
00105 ccsCOMPL_STAT addNode(node *n);
00106
00107
00108
00109 ccsCOMPL_STAT readAttr(node* );
00118 ccsCOMPL_STAT fitsLog(node* );
00143 ccsCOMPL_STAT generateMap(void);
00144
00154 ccsCOMPL_STAT readFile(const char *);
00162 vltUINT32 cycle(void);
00164 ccsCOMPL_STAT reset(void);
00166 ccsCOMPL_STAT listTable(char *name);
00168 bool OK(void) { return ok;}
00169 };
00170
00171 # endif
00172