Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | Related Pages

envirext.h

00001 //==========================================================================
00002 //  ENVIREXT.H - part of
00003 //                     OMNeT++/OMNEST
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-2005 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 #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     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
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     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
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     // copy constructor and assignment unsupported, make them inaccessible and also leave unimplemented
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 

Generated on Fri Apr 1 12:25:33 2005 for OMNeT++/OMNEST Simulation Library by  doxygen 1.3.9.1