![]() |
ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
|
00001 #include "VerbosePrinterEventEnabled.h" 00002 00003 VerbosePrinterEventEnabled::VerbosePrinterEventEnabled() 00004 { 00005 myPrinter = NULL; 00006 } 00007 00008 VerbosePrinterEventEnabled::~VerbosePrinterEventEnabled() 00009 { 00010 removeListener(); 00011 } 00012 00013 void VerbosePrinterEventEnabled::registerListener(VerbosePrinter * Listener) 00014 { 00015 myPrinter = Listener; 00016 if(myPrinter!=NULL) 00017 { 00018 myPrinter->registerConnectedEventClass(this); 00019 } 00020 for(list<VerbosePrinterEventEnabled *>::iterator it = children.begin(); it!=children.end(); it++) 00021 { 00022 if((*it)!=NULL) 00023 (*it)->registerListener(Listener); 00024 } 00025 } 00026 00027 void VerbosePrinterEventEnabled::removeListener() 00028 { 00029 if(myPrinter!=NULL) 00030 { 00031 myPrinter->unRegisterConnectedEventClass(this); 00032 } 00033 myPrinter = NULL; 00034 } 00035 00036 void VerbosePrinterEventEnabled::registerChild(VerbosePrinterEventEnabled * child) 00037 { 00038 children.push_back(child); 00039 } 00040 00041 bool VerbosePrinterEventEnabled::vPrint(int verbosityLevel, const char* message, ...) const 00042 { 00043 if(myPrinter!=NULL) 00044 { 00045 va_list args; 00046 va_start(args, message); 00047 myPrinter->va_print(verbosityLevel, message, args); 00048 va_end(args); 00049 return true; 00050 } 00051 return false; 00052 }