Changeset e9f2e1 for molecuilder/src


Ignore:
Timestamp:
Mar 11, 2010, 2:29:04 PM (16 years ago)
Author:
Tillmann Crueger <crueger@…>
Children:
97f035
Parents:
c3f8c4
Message:

Made the errorLogger use the new Singleton framework

Location:
molecuilder/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/errorlogger.cpp

    rc3f8c4 re9f2e1  
    99#include "errorlogger.hpp"
    1010#include "verbose.hpp"
     11#include "Patterns/Singleton_impl.hpp"
    1112
    1213ofstream null("/dev/null");
    13 
    14 errorLogger* errorLogger::instance = NULL;
    1514int errorLogger::verbosity = 2;
    1615ostream* errorLogger::nix = &null;
     
    2322errorLogger::errorLogger()
    2423{
    25   instance = NULL;
    2624  verbosity = 2;
    2725};
     
    3432}
    3533
    36 /**
    37  * Returns the singleton errorLogger instance.
    38  *
    39  * \return errorLogger instance
    40  */
    41 errorLogger* errorLogger::getInstance() {
    42   if (instance == NULL) {
    43     instance = new errorLogger();
    44   }
    45 
    46   return instance;
    47 }
    48 
    49 
    50 /**
    51  * Purges the current errorLogger instance.
    52  */
    53 void errorLogger::purgeInstance() {
    54   if (instance != NULL) {
    55     delete instance;
    56   }
    57 
    58   instance = NULL;
    59 }
     34CONSTRUCT_SINGLETON(errorLogger)
    6035
    6136/**
  • molecuilder/src/errorlogger.hpp

    rc3f8c4 re9f2e1  
    1111#include <iostream>
    1212
     13#include "Patterns/Singleton.hpp"
     14
    1315using namespace std;
    1416
    1517class Verbose;
    1618
    17 class errorLogger {
     19class errorLogger : public Singleton<errorLogger>{
     20  friend class Singleton<errorLogger>;
    1821public :
    1922  static ostream *nix;
    2023  static int verbosity;
    2124
    22   static errorLogger* getInstance();
    23   static void purgeInstance();
    2425  static bool DoOutput();
    2526  static void setVerbosity(int verbosityLevel);
     
    3132  ~errorLogger();
    3233
    33 private:
    34   static errorLogger* instance;
    3534};
    3635
  • molecuilder/src/log.cpp

    rc3f8c4 re9f2e1  
    1616void setVerbosity(int verbosityLevel) {
    1717  logger::getInstance().setVerbosity(verbosityLevel);
    18   errorLogger::getInstance()->setVerbosity(verbosityLevel);
     18  errorLogger::getInstance().setVerbosity(verbosityLevel);
    1919}
    2020
     
    3333 * \param indentation level of the message to log
    3434 */
    35 class errorLogger * eLog() {
     35class errorLogger & eLog() {
    3636  return errorLogger::getInstance();
    3737}
Note: See TracChangeset for help on using the changeset viewer.