fdhwlib  2.0.25
/home/kopmann/git-mirror/fdhwlib/fdhwlib/akutil/aksingletoncleaner.h
Go to the documentation of this file.
00001 /***************************************************************************
00002     aksingletoncleaner.h  -  description
00003 
00004     begin                : Thu Feb 21 2002
00005     copyright            : (C) 2002 by A Kopmann
00006     email                : kopmann@ipe.fzk.de
00007     status               :
00008     test                 :
00009     history              :
00010  ***************************************************************************/
00011 
00012 
00013 #ifndef AKSINGLETONCLEANER_H
00014 #define AKSINGLETONCLEANER_H
00015 
00016 #include <cstdio>
00017 
00018 #include <akutil/aksingleton.h>
00019 
00020 
00027 class akSingletonCleaner {
00028 
00029 public :
00031    akSingletonCleaner( akSingleton * pObject = 0 ) : singleton( pObject ) { }
00032 
00036    virtual ~akSingletonCleaner() {
00037       if( singleton != 0 ) {
00038           delete singleton;
00039       }
00040 
00041    }
00042 
00043    void setObject( akSingleton * pObject ){
00044       //printf("SingletonCleaner (%p): Setting singleton reference from %p to %p\n",
00045       //         this, singleton, pObject);
00046       singleton = pObject;
00047 
00048    }
00049 
00050    void dump(){
00051       printf("SingletonCleaner (%p): Reference to %p\n", (void *) this, (void *) singleton);
00052    }
00053 
00054 
00055    akSingleton * getObject(){
00056       return singleton;
00057    }
00058 
00059 
00060 private :
00062    akSingleton *singleton;
00063 
00064 };
00065 
00066 
00067 #endif