ENH: add verbose option for dlLibraryTable::open/close

- allows silent operation when we know what we are doing.
This commit is contained in:
Mark Olesen
2011-02-22 15:41:55 +01:00
parent f0f2bfa632
commit ea2fcaa08b
2 changed files with 32 additions and 18 deletions

View File

@ -62,7 +62,11 @@ Foam::dlLibraryTable::~dlLibraryTable()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::dlLibraryTable::open(const fileName& functionLibName)
bool Foam::dlLibraryTable::open
(
const fileName& functionLibName,
const bool verbose
)
{
if (functionLibName.size())
{
@ -70,11 +74,14 @@ bool Foam::dlLibraryTable::open(const fileName& functionLibName)
if (!functionLibPtr)
{
WarningIn
(
"dlLibraryTable::open(const fileName& functionLibName)"
) << "could not load " << functionLibName
<< endl;
if (verbose)
{
WarningIn
(
"dlLibraryTable::open(const fileName&)"
) << "could not load " << functionLibName
<< endl;
}
return false;
}
@ -97,7 +104,11 @@ bool Foam::dlLibraryTable::open(const fileName& functionLibName)
}
bool Foam::dlLibraryTable::close(const fileName& functionLibName)
bool Foam::dlLibraryTable::close
(
const fileName& functionLibName,
const bool verbose
)
{
void* libPtr = findLibrary(functionLibName);
if (libPtr)
@ -106,11 +117,14 @@ bool Foam::dlLibraryTable::close(const fileName& functionLibName)
if (!dlClose(libPtr))
{
WarningIn
(
"dlLibraryTable::close(const fileName& functionLibName)"
) << "could not close " << functionLibName
<< endl;
if (verbose)
{
WarningIn
(
"dlLibraryTable::close(const fileName&)"
) << "could not close " << functionLibName
<< endl;
}
return false;
}
@ -144,7 +158,7 @@ bool Foam::dlLibraryTable::open
{
fileNameList libNames(dict.lookup(libsEntry));
bool allOpened = (libNames.size() > 0);
bool allOpened = !libNames.empty();
forAll(libNames, i)
{

View File

@ -94,11 +94,11 @@ public:
// Member Functions
//- Open the named library
static bool open(const fileName& name);
//- Open the named library, optionally with warnings if problems occur
static bool open(const fileName& name, const bool verbose = true);
//- Close the named library
static bool close(const fileName& name);
//- Close the named library, optionally with warnings if problems occur
static bool close(const fileName& name, const bool verbose = true);
//- Find the handle of the named library
static void* findLibrary(const fileName& name);
@ -109,7 +109,7 @@ public:
//- Open all the libraries listed in the 'libsEntry' entry in the
// given dictionary if present and check the additions
// to the give constructor table
// to the given constructor table
template<class TablePtr>
static bool open
(