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 /*--------------------------------------------------------------*
00013   Copyright (C) 1992-2003 Andras Varga
00014 
00015   This file is distributed WITHOUT ANY WARRANTY. See the file
00016   `license' for details on this and other legal matters.
00017 *--------------------------------------------------------------*/
00018 
00019 #ifndef __ENVIREXT_H
00020 #define __ENVIREXT_H
00021 
00022 #include <iostream>
00023 #include "defs.h"
00024 
00025 using std::ostream;
00026 
00027 class cModule;
00028 class cStatistic;
00029 class cPar;
00030 
00040 class cOutputVectorManager
00041 {
00042   private:
00043     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
00044     cOutputVectorManager(const cOutputVectorManager&);
00045     cOutputVectorManager& operator=(const cOutputVectorManager&);
00046 
00047   public:
00050 
00054     explicit cOutputVectorManager() {}
00055 
00059     virtual ~cOutputVectorManager() {}
00061 
00064 
00068     virtual void startRun() = 0;
00069 
00073     virtual void endRun() = 0;
00075 
00078 
00084     virtual void *registerVector(const char *modulename, const char *vectorname, int tuple) = 0;
00085 
00089     virtual void deregisterVector(void *vechandle) = 0;
00090 
00096     virtual bool record(void *vechandle, simtime_t t, double value) = 0;
00097 
00103     virtual bool record(void *vechandle, simtime_t t, double value1, double value2) = 0;
00104 
00109     virtual const char *fileName() const = 0;
00111 };
00112 
00113 
00124 class cOutputScalarManager
00125 {
00126   private:
00127     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
00128     cOutputScalarManager(const cOutputScalarManager&);
00129     cOutputScalarManager& operator=(const cOutputScalarManager&);
00130 
00131   public:
00134 
00138     explicit cOutputScalarManager() {}
00139 
00143     virtual ~cOutputScalarManager() {}
00145 
00148 
00152     virtual void startRun() = 0;
00153 
00157     virtual void endRun() = 0;
00159 
00162 
00166     virtual void recordScalar(cModule *module, const char *name, double value) = 0;
00167 
00171     virtual void recordScalar(cModule *module, const char *name, const char *text) = 0;
00172 
00176     virtual void recordScalar(cModule *module, const char *name, cStatistic *stats) = 0;
00177 
00182     virtual const char *fileName() const = 0;
00184 };
00185 
00186 
00197 class cSnapshotManager
00198 {
00199   private:
00200     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
00201     cSnapshotManager(const cSnapshotManager&);
00202     cSnapshotManager& operator=(const cSnapshotManager&);
00203 
00204   public:
00207 
00211     explicit cSnapshotManager() {}
00212 
00216     virtual ~cSnapshotManager() {}
00218 
00221 
00225     virtual void startRun() = 0;
00226 
00230     virtual void endRun() = 0;
00232 
00238     virtual ostream *getStreamForSnapshot() = 0;
00239 
00243     virtual void releaseStreamForSnapshot(ostream *os) = 0;
00244 
00249     virtual const char *fileName() const = 0;
00251 };
00252 
00253 #endif
00254 
00255 

Generated at Mon Jun 16 23:37:31 2003 for OMNeT++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001