#include <ModuleAccess.h>
Public Member Functions | |
ModuleAccess (const char *n) | |
virtual | ~ModuleAccess () |
virtual T * | get () |
virtual T * | getIfExists () |
Private Attributes | |
const char * | name |
T * | p |
ModuleAccess< T >::ModuleAccess | ( | const char * | n | ) | [inline] |
virtual ModuleAccess< T >::~ModuleAccess | ( | ) | [inline, virtual] |
virtual T* ModuleAccess< T >::get | ( | ) | [inline, virtual] |
Referenced by IP::fragmentAndSend(), IP::handlePacketFromNetwork(), SimpleClassifier::initialize(), LIBTable::initialize(), IP::initialize(), SCTPAssociation::pmStartPathManagement(), SCTPAssociation::processInitArrived(), OSPF::Router::RebuildRoutingTable(), IP::routePacket(), SCTPPathVariables::SCTPPathVariables(), IP::sendDatagramToOutput(), and SCTPAssociation::sendInit().
00066 { 00067 if (!p) 00068 { 00069 cModule *m = findModuleWhereverInNode(name, simulation.getContextModule()); 00070 if (!m) opp_error("Module (%s)%s not found",opp_typename(typeid(T)),name); 00071 p = check_and_cast<T*>(m); 00072 } 00073 return p; 00074 }
virtual T* ModuleAccess< T >::getIfExists | ( | ) | [inline, virtual] |
00077 { 00078 if (!p) 00079 { 00080 cModule *m = findModuleWhereverInNode(name, simulation.getContextModule()); 00081 p = dynamic_cast<T*>(m); 00082 } 00083 return p; 00084 }
const char* ModuleAccess< T >::name [private] |
T* ModuleAccess< T >::p [private] |