16 #ifndef __OMNETPP_CENVIR_H 17 #define __OMNETPP_CENVIR_H 21 #include "simkerneldefs.h" 22 #include "simtime_t.h" 23 #include "opp_string.h" 24 #include "clistener.h" 25 #include "clifecyclelistener.h" 28 namespace osg {
class Node; }
49 class cConfigurationEx;
54 #define EVCB cSimulation::getActiveEnvir()->suppressNotifications ? (void)0 : (*cSimulation::getActiveEnvir()) 86 bool suppressNotifications;
89 bool debugOnErrors =
false;
130 virtual void simulationEvent(
cEvent *event) = 0;
136 virtual void messageScheduled(
cMessage *msg) = 0;
142 virtual void messageCancelled(
cMessage *msg) = 0;
153 virtual void beginSend(
cMessage *msg) = 0;
159 virtual void messageSendHop(
cMessage *msg,
cGate *srcGate) = 0;
165 virtual void endSend(
cMessage *msg) = 0;
171 virtual void messageCreated(
cMessage *msg) = 0;
184 virtual void messageDeleted(
cMessage *msg) = 0;
189 virtual void moduleReparented(
cModule *module,
cModule *oldparent,
int oldId) = 0;
197 virtual void componentMethodBegin(
cComponent *from,
cComponent *to,
const char *methodFmt, va_list va,
bool silent) = 0;
203 virtual void componentMethodEnd() = 0;
210 virtual void moduleCreated(
cModule *newmodule) = 0;
223 virtual void moduleDeleted(
cModule *module) = 0;
228 virtual void gateCreated(
cGate *newgate) = 0;
234 virtual void gateDeleted(
cGate *gate) = 0;
240 virtual void connectionCreated(
cGate *srcgate) = 0;
246 virtual void connectionDeleted(
cGate *srcgate) = 0;
252 virtual void displayStringChanged(
cComponent *component) = 0;
294 virtual void preconfigure(
cComponent *component) = 0;
302 virtual void configure(
cComponent *component) = 0;
308 virtual void readParameter(
cPar *parameter) = 0;
320 virtual bool isModuleLocal(
cModule *parentmod,
const char *modname,
int index) = 0;
344 virtual cXMLElement *getXMLDocument(
const char *filename,
const char *xpath=
nullptr) = 0;
367 virtual cXMLElement *getParsedXMLString(
const char *content,
const char *xpath=
nullptr) = 0;
382 virtual void forgetXMLDocument(
const char *filename) = 0;
396 virtual void forgetParsedXMLString(
const char *content) = 0;
407 virtual void flushXMLDocumentCache() = 0;
418 virtual void flushXMLParsedContentCache() = 0;
424 virtual unsigned getExtraStackForEnvir()
const = 0;
452 virtual std::string resolveResourcePath(
const char *fileName,
cComponentType *context=
nullptr) = 0;
464 virtual bool isGUI()
const = 0;
477 virtual bool isExpressMode()
const = 0;
483 virtual void bubble(
cComponent *component,
const char *text) = 0;
494 virtual void alert(
const char *msg) = 0;
499 virtual void printfmsg(
const char *fmt,...);
505 virtual std::string gets(
const char *prompt,
const char *defaultReply=
nullptr) = 0;
512 virtual bool askYesNo(
const char *prompt) = 0;
523 virtual void getImageSize(
const char *imageName,
double& outWidth,
double& outHeight) = 0;
532 virtual void getTextExtent(
const cFigure::Font& font,
const char *text,
double& outWidth,
double& outHeight,
double& outAscent) = 0;
545 virtual void appendToImagePath(
const char *directory) = 0;
570 virtual void loadImage(
const char *fileName,
const char *imageName=
nullptr) = 0;
605 virtual double getZoomLevel(
const cModule *module) = 0;
613 virtual double getAnimationTime()
const = 0;
624 virtual double getAnimationSpeed()
const = 0;
633 virtual double getRemainingAnimationHoldTime()
const = 0;
643 virtual int getNumRNGs()
const = 0;
648 virtual cRNG *getRNG(
int k) = 0;
668 virtual void *registerOutputVector(
const char *modulename,
const char *vectorname) = 0;
673 virtual void deregisterOutputVector(
void *vechandle) = 0;
678 virtual void setVectorAttribute(
void *vechandle,
const char *name,
const char *value) = 0;
685 virtual bool recordInOutputVector(
void *vechandle,
simtime_t t,
double value) = 0;
701 virtual void recordScalar(
cComponent *component,
const char *name,
double value,
opp_string_map *attributes=
nullptr) = 0;
747 virtual std::ostream *getStreamForSnapshot() = 0;
752 virtual void releaseStreamForSnapshot(std::ostream *os) = 0;
760 virtual int getArgCount()
const = 0;
765 virtual char **getArgVector()
const = 0;
770 virtual int getParsimProcId()
const = 0;
776 virtual int getParsimNumPartitions()
const = 0;
781 virtual unsigned long getUniqueNumber() = 0;
787 virtual void refOsgNode(osg::Node *scene) = 0;
793 virtual void unrefOsgNode(osg::Node *scene) = 0;
808 virtual bool idle() = 0;
824 virtual bool ensureDebugger(
cRuntimeError *error =
nullptr) = 0;
The message class in OMNeT++. cMessage objects may represent events, messages, jobs or other entities...
Definition: cmessage.h:95
Thrown when the simulation kernel or other components detect a runtime error.
Definition: cexception.h:283
Common base for module and channel classes.
Definition: ccomponent.h:48
Represents a module gate.
Definition: cgate.h:63
Root of the OMNeT++ class hierarchy. cObject is a lightweight class without any data members...
Definition: cobject.h:58
int64_t-based, base-10 fixed-point simulation time.
Definition: simtime.h:66
Represents an XML element in an XML configuration file.
Definition: cxmlelement.h:73
Abstract interface for random number generator classes.
Definition: crng.h:49
Represents an event in the discrete event simulator.
Definition: cevent.h:43
Represents a module or channel parameter.
Definition: cpar.h:68
virtual const char * getCurrentEventName()
Definition: cenvir.h:270
A callback interface for receiving notifications at various stages simulations, including setting up...
Definition: clifecyclelistener.h:186
virtual cModule * getCurrentEventModule()
Definition: cenvir.h:282
cEnvir represents the "environment" or user interface of the simulation.
Definition: cenvir.h:73
virtual const char * getCurrentEventClassName()
Definition: cenvir.h:276
This class holds various data that is captured when a particular log statement executes. It also contains the text written to the log stream.
Definition: clog.h:369
virtual void componentInitBegin(cComponent *component, int stage)
Definition: cenvir.h:121
This class represents modules in the simulation.
Definition: cmodule.h:47
Stores a (NED) property with its (possibly compound) value.
Definition: cproperty.h:38
Represents a configuration suitable for use with the Envir library.
Definition: cconfiguration.h:282
bool isLoggingEnabled() const
Definition: cenvir.h:470
Lightweight string-to-string map, used internally in some parts of OMNeT++.
Definition: opp_string.h:200
A cEnvir that can be instantiated as a user interface, like Cmdenv and Tkenv.
Definition: cenvir.h:855
virtual void objectDeleted(cObject *object)
Definition: cenvir.h:116
Common base class for cModuleType and cChannelType.
Definition: ccomponenttype.h:49
Definition: cabstracthistogram.h:21
SimulationLifecycleEventType
Event type for cISimulationLifecycleListener's lifecycleEvent() method.
Definition: clifecyclelistener.h:28
virtual void undisposedObject(cObject *obj)
Definition: cenvir.h:261
int simsignal_t
Signal handle.
Definition: clistener.h:24
cStatistic is an abstract class for computing statistical properties of a random variable.
Definition: cstatistic.h:34
Represents the configuration, as accessed by the simulation kernel.
Definition: cconfiguration.h:70