summaryrefslogtreecommitdiff
path: root/Source/cmDynamicLoader.cxx
diff options
context:
space:
mode:
authorMyungJoo Ham <myungjoo.ham@samsung.com>2017-10-11 15:16:57 +0900
committerMyungJoo Ham <myungjoo.ham@samsung.com>2017-10-11 15:16:57 +0900
commit915c76ded744c0f5f151402b9fa69f3fd8452573 (patch)
treeca6a387466543248890f346847acaa8343989b22 /Source/cmDynamicLoader.cxx
parent317dbdb79761ef65e45c7358cfc7571c6afa54ad (diff)
downloadcmake-915c76ded744c0f5f151402b9fa69f3fd8452573.tar.gz
cmake-915c76ded744c0f5f151402b9fa69f3fd8452573.tar.bz2
cmake-915c76ded744c0f5f151402b9fa69f3fd8452573.zip
Imported Upstream version 3.9.4upstream/3.9.4
Diffstat (limited to 'Source/cmDynamicLoader.cxx')
-rw-r--r--Source/cmDynamicLoader.cxx78
1 files changed, 33 insertions, 45 deletions
diff --git a/Source/cmDynamicLoader.cxx b/Source/cmDynamicLoader.cxx
index 6a0ab7b1b..7fbe75c7b 100644
--- a/Source/cmDynamicLoader.cxx
+++ b/Source/cmDynamicLoader.cxx
@@ -1,106 +1,94 @@
-/*============================================================================
- CMake - Cross Platform Makefile Generator
- Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
-
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
-
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
-============================================================================*/
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
#include "cmDynamicLoader.h"
+#include <map>
+#include <string>
+#include <utility>
+
class cmDynamicLoaderCache
{
public:
~cmDynamicLoaderCache();
- void CacheFile(const char* path,
- const cmsys::DynamicLoader::LibraryHandle&);
- bool GetCacheFile(const char* path, cmsys::DynamicLoader::LibraryHandle&);
+ void CacheFile(const char* path, cmsys::DynamicLoader::LibraryHandle /*p*/);
+ bool GetCacheFile(const char* path,
+ cmsys::DynamicLoader::LibraryHandle& /*p*/);
bool FlushCache(const char* path);
void FlushCache();
static cmDynamicLoaderCache* GetInstance();
private:
- std::map<cmStdString, cmsys::DynamicLoader::LibraryHandle> CacheMap;
+ std::map<std::string, cmsys::DynamicLoader::LibraryHandle> CacheMap;
static cmDynamicLoaderCache* Instance;
};
-cmDynamicLoaderCache* cmDynamicLoaderCache::Instance = 0;
+cmDynamicLoaderCache* cmDynamicLoaderCache::Instance = CM_NULLPTR;
cmDynamicLoaderCache::~cmDynamicLoaderCache()
{
}
void cmDynamicLoaderCache::CacheFile(const char* path,
- const cmsys::DynamicLoader::LibraryHandle& p)
+ cmsys::DynamicLoader::LibraryHandle p)
{
cmsys::DynamicLoader::LibraryHandle h;
- if ( this->GetCacheFile(path, h) )
- {
+ if (this->GetCacheFile(path, h)) {
this->FlushCache(path);
- }
+ }
this->CacheMap[path] = p;
}
bool cmDynamicLoaderCache::GetCacheFile(const char* path,
- cmsys::DynamicLoader::LibraryHandle& p)
+ cmsys::DynamicLoader::LibraryHandle& p)
{
- std::map<cmStdString, cmsys::DynamicLoader::LibraryHandle>::iterator it
- = this->CacheMap.find(path);
- if ( it != this->CacheMap.end() )
- {
+ std::map<std::string, cmsys::DynamicLoader::LibraryHandle>::iterator it =
+ this->CacheMap.find(path);
+ if (it != this->CacheMap.end()) {
p = it->second;
return true;
- }
+ }
return false;
}
bool cmDynamicLoaderCache::FlushCache(const char* path)
{
- std::map<cmStdString, cmsys::DynamicLoader::LibraryHandle>::iterator it
- = this->CacheMap.find(path);
+ std::map<std::string, cmsys::DynamicLoader::LibraryHandle>::iterator it =
+ this->CacheMap.find(path);
bool ret = false;
- if ( it != this->CacheMap.end() )
- {
+ if (it != this->CacheMap.end()) {
cmsys::DynamicLoader::CloseLibrary(it->second);
this->CacheMap.erase(it);
ret = true;
- }
+ }
return ret;
}
void cmDynamicLoaderCache::FlushCache()
{
- for ( std::map<cmStdString,
- cmsys::DynamicLoader::LibraryHandle>::iterator it
- = this->CacheMap.begin();
- it != this->CacheMap.end(); it++ )
- {
+ for (std::map<std::string, cmsys::DynamicLoader::LibraryHandle>::iterator
+ it = this->CacheMap.begin();
+ it != this->CacheMap.end(); it++) {
cmsys::DynamicLoader::CloseLibrary(it->second);
- }
+ }
delete cmDynamicLoaderCache::Instance;
- cmDynamicLoaderCache::Instance = 0;
+ cmDynamicLoaderCache::Instance = CM_NULLPTR;
}
cmDynamicLoaderCache* cmDynamicLoaderCache::GetInstance()
{
- if ( !cmDynamicLoaderCache::Instance )
- {
+ if (!cmDynamicLoaderCache::Instance) {
cmDynamicLoaderCache::Instance = new cmDynamicLoaderCache;
- }
+ }
return cmDynamicLoaderCache::Instance;
}
cmsys::DynamicLoader::LibraryHandle cmDynamicLoader::OpenLibrary(
- const char* libname )
+ const char* libname)
{
cmsys::DynamicLoader::LibraryHandle lh;
- if ( cmDynamicLoaderCache::GetInstance()->GetCacheFile(libname, lh) )
- {
+ if (cmDynamicLoaderCache::GetInstance()->GetCacheFile(libname, lh)) {
return lh;
- }
+ }
lh = cmsys::DynamicLoader::OpenLibrary(libname);
cmDynamicLoaderCache::GetInstance()->CacheFile(libname, lh);
return lh;