00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __ENVIREXT_H
00013 #define __ENVIREXT_H
00014
00015 #include "defs.h"
00016 class cModule;
00017 class ostream;
00018 class cStatistic;
00019 class cPar;
00020
00030 class cOutputVectorManager
00031 {
00032 private:
00033
00034 cOutputVectorManager(const cOutputVectorManager&);
00035 cOutputVectorManager& operator=(const cOutputVectorManager&);
00036
00037 public:
00040
00044 explicit cOutputVectorManager() {}
00045
00049 virtual ~cOutputVectorManager() {}
00051
00054
00058 virtual void startRun() = 0;
00059
00063 virtual void endRun() = 0;
00065
00068
00074 virtual void *registerVector(const char *modulename, const char *vectorname, int tuple) = 0;
00075
00079 virtual void deregisterVector(void *vechandle) = 0;
00080
00086 virtual bool record(void *vechandle, simtime_t t, double value) = 0;
00087
00093 virtual bool record(void *vechandle, simtime_t t, double value1, double value2) = 0;
00094
00099 virtual const char *fileName() const = 0;
00101 };
00102
00103
00114 class cOutputScalarManager
00115 {
00116 private:
00117
00118 cOutputScalarManager(const cOutputScalarManager&);
00119 cOutputScalarManager& operator=(const cOutputScalarManager&);
00120
00121 public:
00124
00128 explicit cOutputScalarManager() {}
00129
00133 virtual ~cOutputScalarManager() {}
00135
00138
00142 virtual void startRun() = 0;
00143
00147 virtual void endRun() = 0;
00149
00152
00156 virtual void recordScalar(cModule *module, const char *name, double value) = 0;
00157
00161 virtual void recordScalar(cModule *module, const char *name, const char *text) = 0;
00162
00166 virtual void recordScalar(cModule *module, const char *name, cStatistic *stats) = 0;
00167
00172 virtual const char *fileName() const = 0;
00174 };
00175
00176
00187 class cSnapshotManager
00188 {
00189 private:
00190
00191 cSnapshotManager(const cSnapshotManager&);
00192 cSnapshotManager& operator=(const cSnapshotManager&);
00193
00194 public:
00197
00201 explicit cSnapshotManager() {}
00202
00206 virtual ~cSnapshotManager() {}
00208
00211
00215 virtual void startRun() = 0;
00216
00220 virtual void endRun() = 0;
00222
00228 virtual ostream *getStreamForSnapshot() = 0;
00229
00233 virtual void releaseStreamForSnapshot(ostream *os) = 0;
00234
00239 virtual const char *fileName() const = 0;
00241 };
00242
00243 #endif
00244
00245