Program: bbtk
Module: $RCSfile: bbtkPackage.cxx,v $
Language: C++
- Date: $Date: 2009/10/16 08:52:12 $
- Version: $Revision: 1.32 $
+ Date: $Date: 2010/09/12 14:52:25 $
+ Version: $Revision: 1.35 $
=========================================================================*/
/* ---------------------------------------------------------------------
{
bbtkDebugMessage("package",5,
" Descriptor has already been released"
- <<bbtkendl);
+ <<bbtkendl);
return;
}
// bbtkDebugMessage("package",3,
if (pack.expired())
{
bbtkDebugMessage("package",2,
- " ... and caused its package death"
+ " ... and caused its package death"
<<bbtkendl);
return;
} // pack.expired
<<"') : package expired during release : bailing out"<<bbtkendl);
break;
}
-
+
#if defined(MACOSX)
BlackBoxDescriptor::Pointer desc = pack.lock()->mDescriptorMap[*descname];
if ( (dyn==0) || (boost::dynamic_pointer_cast<ComplexBlackBoxDescriptor>(desc)) )
UnLoadDynamicLibrary(pack);
// Unload orphan dl packages
Package::UnLoadReleasedDynamicallyLoadedPackages();
-
-
-
}
#ifdef BBTK_COMPILE_DEBUG_MESSAGES
{
if (pack.expired() || (!pack.lock()->mDynamicLibraryHandler))
return;
-
-
+
std::string packname = pack.lock()->GetName();
bbtkDebugMessage("package",5,"==> Package::UnLoadDynamicLibrary('"
<<packname<<"')"
<<std::endl);
-
+
if (!pack.lock()->GetDescriptorMap().empty())
{
-
+
bbtkDebugMessage("package",5," Package not empty ... abort"
<<std::endl);
return;
<<"DescriptorMap not empty "
<<BBTK_INTERNAL_ERROR_MESSAGE);
*/
-
}
if (pack.use_count()!=1)
bbtkDebugMessage("package",1,"==> package '"<<packname
<<"' put in the 'to unload' list"
<<std::endl);
-
}
bbtkDebugMessage("package",5,"<== Package::UnLoadDynamicLibrary('"
<<packname<<"')"
- <<std::endl);
-
+ <<std::endl);
}
//==========================================================================
}
//==========================================================================
+//ups4 EED borrame
+ bool Package::ifBoxExist( std::string type)
+ {
+ bool ok=false;
+ DescriptorMapType::const_iterator i = mDescriptorMap.find(type);
+ if (i != mDescriptorMap.end())
+ {
+ ok=true;
+ }
+ return ok;
+ }
+
//==========================================================================
/// Creates an instance of a black box of type <type> with name <name>
BlackBox::Pointer Package::NewBlackBox(const std::string& type,