fdhwlib
2.0.25
|
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