X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkObject.cxx;h=8663ce6c415ddf54d062762114b92d056174cc20;hb=03cc68dd6b831aa98e1e0fad20a977ffa074be39;hp=fa41efee9eaa5510b8976e12a797982fe04b3582;hpb=97b08ef9b0c2a60c4d1f619f6bfef2996afdcab3;p=bbtk.git diff --git a/kernel/src/bbtkObject.cxx b/kernel/src/bbtkObject.cxx index fa41efe..8663ce6 100644 --- a/kernel/src/bbtkObject.cxx +++ b/kernel/src/bbtkObject.cxx @@ -1,3 +1,41 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + + +/*========================================================================= + Program: bbtk + Module: $RCSfile: bbtkObject.cxx,v $ + Language: C++ + Date: $Date: 2012/11/16 08:49:01 $ + Version: $Revision: 1.12 $ +=========================================================================*/ + + + + #include "bbtkObject.h" #include "bbtkMessageManager.h" #include "bbtkPackage.h" @@ -109,13 +147,13 @@ namespace bbtk { std::cout<<"* Note : "<1) { std::cout<<"* Note : "<GetObjectName(); +#ifdef BBTK_COMPILE_DEBUG_MESSAGES void* adr = (void*)p; bbtkDebugMessage("object",1,"##> Object::Deleter : deleting \"" <Delete(p); - bbtkDebugMessage("object",2,"<## Object::Deleter : \""<Delete(p); + if (remaining == 0) + { + Object::RemoveFromObjectList(mPointer); + bbtkDebugMessage("object",2,"<## Object::Deleter : \""< Object::ReleasePackages()"<use_count() != 0) { + bbtkDebugMessage("object",1,"##> Releasing package '"<< + i->lock()->GetThisPointer()->GetName() + <<"'"<lock()); Package::WeakPointer w(i->lock()->GetThisPointer()); Package::Release(w); @@ -203,7 +256,8 @@ namespace bbtk } } - + //======================================================================= +