00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __ENVIREXT_H
00020 #define __ENVIREXT_H
00021
00022 #include <iostream>
00023 #include "defs.h"
00024 #include "cpolymorphic.h"
00025
00026
00027 class cModule;
00028 class cStatistic;
00029 class cPar;
00030
00051 class SIM_API cOutputVectorManager : public cPolymorphic
00052 {
00053 private:
00054
00055 cOutputVectorManager(const cOutputVectorManager&);
00056 cOutputVectorManager& operator=(const cOutputVectorManager&);
00057
00058 public:
00061
00065 explicit cOutputVectorManager() {}
00066
00070 virtual ~cOutputVectorManager() {}
00072
00075
00079 virtual void startRun() = 0;
00080
00084 virtual void endRun() = 0;
00086
00089
00095 virtual void *registerVector(const char *modulename, const char *vectorname, int tuple) = 0;
00096
00100 virtual void deregisterVector(void *vechandle) = 0;
00101
00107 virtual bool record(void *vechandle, simtime_t t, double value) = 0;
00108
00114 virtual bool record(void *vechandle, simtime_t t, double value1, double value2) = 0;
00115
00120 virtual const char *fileName() const = 0;
00122 };
00123
00124
00145 class SIM_API cOutputScalarManager : public cPolymorphic
00146 {
00147 private:
00148
00149 cOutputScalarManager(const cOutputScalarManager&);
00150 cOutputScalarManager& operator=(const cOutputScalarManager&);
00151
00152 public:
00155
00159 explicit cOutputScalarManager() {}
00160
00164 virtual ~cOutputScalarManager() {}
00166
00169
00173 virtual void startRun() = 0;
00174
00178 virtual void endRun() = 0;
00180
00183
00187 virtual void recordScalar(cModule *module, const char *name, double value) = 0;
00188
00193 virtual const char *fileName() const = 0;
00195 };
00196
00197
00217 class SIM_API cSnapshotManager : public cPolymorphic
00218 {
00219 private:
00220
00221 cSnapshotManager(const cSnapshotManager&);
00222 cSnapshotManager& operator=(const cSnapshotManager&);
00223
00224 public:
00227
00231 explicit cSnapshotManager() {}
00232
00236 virtual ~cSnapshotManager() {}
00238
00241
00245 virtual void startRun() = 0;
00246
00250 virtual void endRun() = 0;
00252
00258 virtual std::ostream *getStreamForSnapshot() = 0;
00259
00263 virtual void releaseStreamForSnapshot(std::ostream *os) = 0;
00264
00269 virtual const char *fileName() const = 0;
00271 };
00272
00273 #endif
00274
00275