}
# include "Utils_DESTRUCTEUR_GENERIQUE.hxx"
-# include "utilities.h"
+//# include "utilities.h"
void Nettoyage();
#ifdef _DEBUG_
//CCRT
if ( Make_ATEXIT && !ATEXIT_Done ) {
//CCRT
- ASSERT (DESTRUCTEUR_GENERIQUE_::Destructeurs==0);
- if(MYDEBUG) MESSAGE("Construction ATEXIT"); // message necessaire pour utiliser logger dans Nettoyage (cf.BUG KERNEL4561)
+ assert (DESTRUCTEUR_GENERIQUE_::Destructeurs==0);
+ cerr << "ATEXIT_::ATEXIT_ Construction ATEXIT" << endl;// message necessaire pour utiliser logger dans Nettoyage (cf.BUG KERNEL4561)
DESTRUCTEUR_GENERIQUE_::Destructeurs =
new std::list<DESTRUCTEUR_GENERIQUE_*> ; // Destructeur alloue dynamiquement (cf. ci-dessous) ,
// il est utilise puis detruit par la fonction Nettoyage
int cr = atexit( Nettoyage ); // execute Nettoyage lors de exit, aprs la destruction des donnees statiques !
- ASSERT(cr==0) ;
+ assert(cr==0) ;
ATEXIT_Done = true ;
}
}
~ATEXIT_( )
{
- if(MYDEBUG) MESSAGE("Destruction ATEXIT") ;
+ cerr << "ATEXIT_::~ATEXIT_ Destruction ATEXIT" << endl;
}
};
void Nettoyage( void )
{
- if(MYDEBUG) BEGIN_OF("Nettoyage( void )") ;
- ASSERT(DESTRUCTEUR_GENERIQUE_::Destructeurs) ;
- if(MYDEBUG) SCRUTE( DESTRUCTEUR_GENERIQUE_::Destructeurs->size() ) ;
+ cerr << "Nettoyage()" << endl;
+ //if(MYDEBUG) BEGIN_OF("Nettoyage( void )") ;
+ assert(DESTRUCTEUR_GENERIQUE_::Destructeurs) ;
+ //if(MYDEBUG) SCRUTE( DESTRUCTEUR_GENERIQUE_::Destructeurs->size() ) ;
if( DESTRUCTEUR_GENERIQUE_::Destructeurs->size() )
{
std::list<DESTRUCTEUR_GENERIQUE_*>::iterator it = DESTRUCTEUR_GENERIQUE_::Destructeurs->end() ;
do
{
- if(MYDEBUG) MESSAGE( "DESTRUCTION d'un SINGLETON");
+ //if(MYDEBUG) MESSAGE( "DESTRUCTION d'un SINGLETON");
it-- ;
DESTRUCTEUR_GENERIQUE_* ptr = *it ;
//DESTRUCTEUR_GENERIQUE_::Destructeurs->remove( *it ) ;
}while( it!= DESTRUCTEUR_GENERIQUE_::Destructeurs->begin() ) ;
DESTRUCTEUR_GENERIQUE_::Destructeurs->clear() ;
- if(MYDEBUG) SCRUTE( DESTRUCTEUR_GENERIQUE_::Destructeurs->size() ) ;
- ASSERT( DESTRUCTEUR_GENERIQUE_::Destructeurs->size()==0 ) ;
- ASSERT( DESTRUCTEUR_GENERIQUE_::Destructeurs->empty() ) ;
+ //if(MYDEBUG) SCRUTE( DESTRUCTEUR_GENERIQUE_::Destructeurs->size() ) ;
+ assert( DESTRUCTEUR_GENERIQUE_::Destructeurs->size()==0 ) ;
+ assert( DESTRUCTEUR_GENERIQUE_::Destructeurs->empty() ) ;
}
delete DESTRUCTEUR_GENERIQUE_::Destructeurs;
DESTRUCTEUR_GENERIQUE_::Destructeurs=0;
- if(MYDEBUG) END_OF("Nettoyage( void )") ;
+ //if(MYDEBUG) END_OF("Nettoyage( void )") ;
return ;
}
nettoyage = ATEXIT_( true ) ;
}
//CCRT
- ASSERT(Destructeurs) ;
+ assert(Destructeurs) ;
Destructeurs->push_back( &objet ) ;
return Destructeurs->size() ;
}
# define __DESTRUCTEUR_GENERIQUE__H__
# include <list>
+#include <cassert>
# include <CORBA.h>
-# include "utilities.h"
+//# include "utilities.h"
/*!\class DESTRUCTEUR_GENERIQUE_
*
DESTRUCTEUR_DE_(TYPE &objet):
_PtrObjet( &objet )
{
- ASSERT(DESTRUCTEUR_GENERIQUE_::Ajout( *this ) >= 0) ;
+ assert(DESTRUCTEUR_GENERIQUE_::Ajout( *this ) >= 0) ;
}
/* Performs the destruction of the object.
typedef PortableServer::ServantBase TServant;
if(_PtrObjet){
if(TServant* aServant = dynamic_cast<TServant*>(_PtrObjet)){
- //MESSAGE("deleting ServantBase's _PtrObjet");
+ cerr << "DESTRUCTEUR_GENERIQUE_::operator() deleting ServantBase's _PtrObjet" << endl;
PortableServer::POA_var aPOA = aServant->_default_POA();
PortableServer::ObjectId_var anObjectId = aPOA->servant_to_id(aServant);
aPOA->deactivate_object(anObjectId.in());
aServant->_remove_ref();
}else{
- //MESSAGE("deleting _PtrObjet");
+ cerr << "DESTRUCTEUR_GENERIQUE_::operator() deleting _PtrObjet" << endl;
TYPE* aPtr = static_cast<TYPE*>(_PtrObjet);
delete aPtr;
}
}
virtual ~DESTRUCTEUR_DE_(){
- ASSERT(!_PtrObjet) ;
+ assert(!_PtrObjet) ;
}
private :
template <class TYPE> int SINGLETON_<TYPE>::Destruction( void )
{
int k = - 1 ;
- BEGIN_OF("SINGLETON_<TYPE>::Destruction( void )") ;
+ //BEGIN_OF("SINGLETON_<TYPE>::Destruction( void )") ;
if ( PtrSingleton )
{
- MESSAGE("Destruction du SINGLETON_") ;
+ //MESSAGE("Destruction du SINGLETON_") ;
std::list<DESTRUCTEUR_GENERIQUE_ *>::iterator k ;
delete PtrSingleton ;
PtrSingleton = NULL ;
}
- END_OF("SINGLETON_<TYPE>::Destruction( void )") ;
+ //END_OF("SINGLETON_<TYPE>::Destruction( void )") ;
return k ;
}
template <class TYPE> SINGLETON_<TYPE>::~SINGLETON_()
{
- MESSAGE("passage dans SINGLETON_<TYPE>::~SINGLETON_( void )") ;
+ //MESSAGE("passage dans SINGLETON_<TYPE>::~SINGLETON_( void )") ;
}
# endif /* # if !defined( __SINGLETON__H__ ) */