ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
VerbosePrinter.cpp
Go to the documentation of this file.
00001 #include "VerbosePrinter.h"
00002 
00003 VerbosePrinter::VerbosePrinter(int verbosityLevel)
00004 {
00005   myFile = NULL;
00006   myVerbosityLevel = verbosityLevel;
00007 }
00008 
00009 VerbosePrinter::VerbosePrinter(int verbosityLevel, string fileName)
00010 {
00011   myVerbosityLevel = verbosityLevel;
00012   myFile = fopen(fileName.c_str(), "w");
00013 }
00014 
00015 VerbosePrinter::~VerbosePrinter()
00016 {
00017   if(myFile!=NULL)
00018     fclose(myFile);
00019 }
00020 
00021 bool VerbosePrinter::print(int verbosityLevel, const char* message, ...)
00022 {
00023   va_list args;
00024   va_start(args, message);
00025   bool retval = va_print(verbosityLevel, message, args);
00026   va_end(args);
00027   return retval;
00028 }
00029 
00030 bool VerbosePrinter::va_print(int verbosityLevel, const char* message, va_list args)
00031 {
00032   if(verbosityLevel<=myVerbosityLevel)
00033     {
00034       if(myFile!=NULL)
00035         {
00036           vfprintf( myFile, message, args );
00037         }
00038       else
00039         {
00040           vprintf( message, args );
00041           fflush(stdout);
00042         }
00043       return true;
00044     }
00045   else
00046     {
00047       return false;
00048     }
00049 }
00050 
00051 list<VerbosePrinterEventEnabled *> VerbosePrinter::getConnectedEventClasses()
00052 {
00053   return myConnectedEventClasses;
00054 }
00055 
00056 bool VerbosePrinter::registerConnectedEventClass(VerbosePrinterEventEnabled * myEvent)
00057 {
00058   if(find(myConnectedEventClasses.begin(), myConnectedEventClasses.end(), 
00059           myEvent)==myConnectedEventClasses.end())
00060     {
00061       myConnectedEventClasses.push_back(myEvent);
00062       return true;
00063     }
00064   else
00065     return false;
00066 }
00067 
00068 bool VerbosePrinter::unRegisterConnectedEventClass(VerbosePrinterEventEnabled * myEvent)
00069 {
00070   myConnectedEventClasses.remove(myEvent);
00071   return true;
00072 }
00073 
00074 int VerbosePrinter::getVerbosityLevel() const
00075 {
00076   return myVerbosityLevel;
00077 }
 All Classes Files Functions Variables Enumerations Enumerator Defines

Back to the main page of the Precalibrated Ion Beam Identification Detector project

Created by Rikard Lundmark