Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members  

envirext.h

00001 //==========================================================================
00002 //   ENVIREXT.H - header for
00003 //                             OMNeT++
00004 //            Discrete System Simulation in C++
00005 //
00006 //
00007 //  Declaration of the following classes:
00008 //    cOutputVectorManager  : actually records for cOutVector objects
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     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
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     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
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     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
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 

Generated at Sat May 4 15:45:49 2002 for OMNeT++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001