Module.cc

Go to the documentation of this file.
00001 // $Header: /cvs/lcd/slic/src/Module.cc,v 1.7 2008/04/11 03:20:19 jeremy Exp $
00002 #include "Module.hh"
00003 
00004 // lcdd
00005 #include "StringUtil.hh"
00006 
00007 // slic
00008 #include "ModuleRegistry.hh"
00009 
00010 namespace slic
00011 {
00012     Module::Module( const std::string& name, 
00013                     bool deleteOnExit, 
00014                     bool autoRegister )
00015         : m_deleteOnExit( deleteOnExit )
00016     {
00017         m_name = name;
00018         
00019         // If requested, register the module with the ModuleRegistry.
00020         if ( autoRegister ) {
00021             ModuleRegistry::instance()->registerModule( this );
00022         }
00023         
00024         // Create a logger for this module.
00025         m_log = LogManager::instance()->createLogWithMessenger( m_name, LOG::okay );
00026                
00027         // Init message.
00028 #ifdef SLIC_LOG
00029         log().verbose( "Initialized module <" + getName() + ">" );
00030 #endif    
00031     }
00032     
00033     Module::~Module()
00034     {
00035 #ifdef SLIC_LOG
00036         log().verbose( getName() + " is being deleted." );
00037 #endif
00038         LogManager::instance()->removeLog( m_log );
00039         ModuleRegistry::instance()->deregisterModule( this );
00040     }
00041 }

Generated on Mon Jun 7 17:45:20 2010 for Simulator for the Linear Collider by  doxygen 1.5.4