![]() |
ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
|
A class used to print messages to the user, which prints all messages it receives with a verbosity level lower than a set level. More...
#include <VerbosePrinter.h>
Public Member Functions | |
VerbosePrinter (int verbosityLevel) | |
Creates a VerbosePrinter with the stated verbosityLevel. | |
VerbosePrinter (int verbosityLevel, string fileName) | |
Creates a VerbosePrinter with the stated verbosityLevel and redirects output to the file fileName. | |
~VerbosePrinter () | |
Destroys the printer. | |
bool | print (int verbosityLevel, const char *,...) |
Print message to user or file. | |
bool | va_print (int verbosityLevel, const char *, va_list args) |
Print message to user or file. | |
list < VerbosePrinterEventEnabled * > | getConnectedEventClasses () |
VerbosePrinterEventEnabled automatically registers with the VerbosePrinter object, and the VerbosePrinterEventEnabled object is added to this list. | |
bool | registerConnectedEventClass (VerbosePrinterEventEnabled *myEvent) |
Registers a connected event class (of type VerbosePrinterEventEnabled). | |
bool | unRegisterConnectedEventClass (VerbosePrinterEventEnabled *myEvent) |
Unregisters a connected event class. | |
int | getVerbosityLevel () const |
Returns the verbosity level of this VerbosePrinter. | |
Private Attributes | |
list < VerbosePrinterEventEnabled * > | myConnectedEventClasses |
The connected event classes. | |
int | myVerbosityLevel |
The verbosity level of the printer. | |
FILE * | myFile |
The file to print to, if any. |
A class used to print messages to the user, which prints all messages it receives with a verbosity level lower than a set level.
Classes wanting to use this should extend VerbosePrinterEventEnabled. They can call the print(int, char*, ...) or va_print(int, char, va_list, ...) functions to print messages.
Definition at line 45 of file VerbosePrinter.h.
VerbosePrinter::VerbosePrinter | ( | int | verbosityLevel | ) |
Creates a VerbosePrinter with the stated verbosityLevel.
verbosityLevel | The verbosity level. |
Definition at line 3 of file VerbosePrinter.cpp.
References myFile, myVerbosityLevel, and NULL.
{ myFile = NULL; myVerbosityLevel = verbosityLevel; }
VerbosePrinter::VerbosePrinter | ( | int | verbosityLevel, |
string | fileName | ||
) |
Creates a VerbosePrinter with the stated verbosityLevel and redirects output to the file fileName.
verbosityLevel | The verbosity level. |
fileName | The filename to redirect the output to. |
Definition at line 9 of file VerbosePrinter.cpp.
References myFile, and myVerbosityLevel.
{ myVerbosityLevel = verbosityLevel; myFile = fopen(fileName.c_str(), "w"); }
list< VerbosePrinterEventEnabled * > VerbosePrinter::getConnectedEventClasses | ( | ) |
VerbosePrinterEventEnabled automatically registers with the VerbosePrinter object, and the VerbosePrinterEventEnabled object is added to this list.
Definition at line 51 of file VerbosePrinter.cpp.
References myConnectedEventClasses.
{ return myConnectedEventClasses; }
int VerbosePrinter::getVerbosityLevel | ( | ) | const |
Returns the verbosity level of this VerbosePrinter.
Definition at line 74 of file VerbosePrinter.cpp.
References myVerbosityLevel.
{ return myVerbosityLevel; }
bool VerbosePrinter::print | ( | int | verbosityLevel, |
const char * | message, | ||
... | |||
) |
Print message to user or file.
verbosityLevel | The verbosity level to print with. |
message | The string to print |
Definition at line 21 of file VerbosePrinter.cpp.
References va_print().
Referenced by proceed_interact(), and proceed_nointeract().
{ va_list args; va_start(args, message); bool retval = va_print(verbosityLevel, message, args); va_end(args); return retval; }
bool VerbosePrinter::registerConnectedEventClass | ( | VerbosePrinterEventEnabled * | myEvent | ) |
Registers a connected event class (of type VerbosePrinterEventEnabled).
myEvent | The VerbosePrinterEventEnabled to register. |
Definition at line 56 of file VerbosePrinter.cpp.
References myConnectedEventClasses.
Referenced by VerbosePrinterEventEnabled::registerListener().
{ if(find(myConnectedEventClasses.begin(), myConnectedEventClasses.end(), myEvent)==myConnectedEventClasses.end()) { myConnectedEventClasses.push_back(myEvent); return true; } else return false; }
bool VerbosePrinter::unRegisterConnectedEventClass | ( | VerbosePrinterEventEnabled * | myEvent | ) |
Unregisters a connected event class.
myEvent | Registers a connected event class. |
Definition at line 68 of file VerbosePrinter.cpp.
References myConnectedEventClasses.
Referenced by VerbosePrinterEventEnabled::removeListener().
{ myConnectedEventClasses.remove(myEvent); return true; }
bool VerbosePrinter::va_print | ( | int | verbosityLevel, |
const char * | message, | ||
va_list | args | ||
) |
Print message to user or file.
verbosityLevel | The verbosity level to print with. |
message | The string to print. |
args | Other arguments to send to vprintf. |
Definition at line 30 of file VerbosePrinter.cpp.
References myFile, myVerbosityLevel, and NULL.
Referenced by print(), and VerbosePrinterEventEnabled::vPrint().
{ if(verbosityLevel<=myVerbosityLevel) { if(myFile!=NULL) { vfprintf( myFile, message, args ); } else { vprintf( message, args ); fflush(stdout); } return true; } else { return false; } }