00001 //========================================================================== 00002 // GLOBALS.H - part of 00003 // OMNeT++/OMNEST 00004 // Discrete System Simulation in C++ 00005 // 00006 //========================================================================== 00007 00008 /*--------------------------------------------------------------* 00009 Copyright (C) 1992-2005 Andras Varga 00010 00011 This file is distributed WITHOUT ANY WARRANTY. See the file 00012 `license' for details on this and other legal matters. 00013 *--------------------------------------------------------------*/ 00014 00015 #ifndef __GLOBALS_H 00016 #define __GLOBALS_H 00017 00018 #include "cobject.h" 00019 #include "onstartup.h" // for cSingleton 00020 00021 //=== classes mentioned 00022 class cModuleInterface; 00023 class cModuleType; 00024 class cChannelType; 00025 class cLinkType; 00026 class cFunctionType; 00027 class cNetworkType; 00028 class cEnum; 00029 00030 //=== Global objects: 00031 00032 //< Internal: list in which objects are accumulated if there's no simple module in context. 00033 //< @see cObject::setDefaultOwner() and cSimulation::setContextModule()) 00034 SIM_API extern cDefaultList defaultList; 00035 00036 SIM_API extern cSingleton<cArray> networks; 00037 SIM_API extern cSingleton<cArray> modinterfaces; 00038 SIM_API extern cSingleton<cArray> modtypes; 00039 SIM_API extern cSingleton<cArray> channeltypes; 00040 SIM_API extern cSingleton<cArray> functions; 00041 SIM_API extern cSingleton<cArray> classes; 00042 SIM_API extern cSingleton<cArray> enums; 00043 00044 00050 00052 SIM_API cNetworkType *findNetwork(const char *s); 00053 00055 SIM_API cModuleType *findModuleType(const char *s); 00056 00058 SIM_API cModuleInterface *findModuleInterface(const char *s); 00059 00061 SIM_API cChannelType *findChannelType(const char *s); 00062 00064 SIM_API cLinkType *findLink(const char *s); 00065 00067 SIM_API cFunctionType *findFunction(const char *s,int argcount); 00068 00070 SIM_API cEnum *findEnum(const char *s); 00072 00073 #endif 00074