From: Timo Lotterbach Date: Mon, 18 Mar 2013 13:31:55 +0000 (+0100) Subject: LayerManagerBase: fixed portability issue in plugin loading X-Git-Tag: 1_0_rc2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2F1_0_rc2;p=profile%2Fivi%2Flayer-management.git LayerManagerBase: fixed portability issue in plugin loading on some platforms the type of directy entries always returns DT_UNKNOWN, this makes it impossible to make a distinction between files and directories. The plugin searching routing was updated to not rely on the directory entry type information, it just tries to load each entry found. Signed-off-by: Timo Lotterbach --- diff --git a/LayerManagerBase/src/PluginManager.cpp b/LayerManagerBase/src/PluginManager.cpp index 198dead..929497d 100644 --- a/LayerManagerBase/src/PluginManager.cpp +++ b/LayerManagerBase/src/PluginManager.cpp @@ -177,7 +177,6 @@ void PluginManager::getAllFilesInPluginPath(std::string path) while (directory && (itemInDirectory = readdir(directory))) { - unsigned char entryType = itemInDirectory->d_type; std::string entryName = itemInDirectory->d_name; std::string fullPath = path + "/" + entryName; @@ -186,23 +185,9 @@ void PluginManager::getAllFilesInPluginPath(std::string path) continue; } - switch (entryType) - { - case DT_REG: - case DT_LNK: - case DT_UNKNOWN: - mFileList.push_back(fullPath); - LOG_DEBUG("PluginManager", "considering File " << fullPath); - break; - - case DT_DIR: - getAllFilesInPluginPath(fullPath); - break; - - default: - LOG_DEBUG("PluginManager", "ignored file " << fullPath); - break; - } + mFileList.push_back(fullPath); + LOG_DEBUG("PluginManager", "considering " << fullPath); + getAllFilesInPluginPath(fullPath); } closedir(directory); @@ -234,7 +219,6 @@ IPlugin* PluginManager::createDynamicallyLinkedPlugin(std::string path) const char* dlopen_error = dlerror(); if (dlopen_error) { - LOG_DEBUG("PluginManager", "not a shared library: " << dlopen_error); return NULL; }