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 }
1.5.4