diff options
author | Lev Dragunov <l.dragunov@corp.mail.ru> | 2015-03-05 19:14:29 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:38:23 +0300 |
commit | c30ae8eab34ab5de5e7684400f5e9032fa8f3736 (patch) | |
tree | 90fb41dd723229f9f761ac5f17f0e28013060845 /platform | |
parent | 3a3028d0599fd329dc0068f3487ae63a49380a4b (diff) |
different file index pathes
Diffstat (limited to 'platform')
-rw-r--r-- | platform/platform.hpp | 2 | ||||
-rw-r--r-- | platform/platform_ios.mm | 10 | ||||
-rw-r--r-- | platform/platform_linux.cpp | 9 | ||||
-rw-r--r-- | platform/platform_mac.mm | 9 | ||||
-rw-r--r-- | platform/platform_tizen.cpp | 9 | ||||
-rw-r--r-- | platform/platform_win.cpp | 7 |
6 files changed, 46 insertions, 0 deletions
diff --git a/platform/platform.hpp b/platform/platform.hpp index e1d26d430b..6605e7b852 100644 --- a/platform/platform.hpp +++ b/platform/platform.hpp @@ -60,6 +60,8 @@ public: string WritableDir() const { return m_writableDir; } /// @return full path to file in user's writable directory string WritablePathForFile(string const & file) const { return WritableDir() + file; } + /// @return full path to indexes directory for country file. Creates directory if it's not exists. + string WritablePathForFileIndexes(string const & country_name) const; /// @return resource dir (on some platforms it's differ from Writable dir) string ResourcesDir() const { return m_resourcesDir; } diff --git a/platform/platform_ios.mm b/platform/platform_ios.mm index c83e10c29c..302013ab53 100644 --- a/platform/platform_ios.mm +++ b/platform/platform_ios.mm @@ -3,6 +3,7 @@ #include "constants.hpp" #include "../coding/file_reader.hpp" +#include "../coding/file_name_utils.hpp" #include <sys/types.h> #include <sys/socket.h> @@ -49,6 +50,15 @@ Platform::Platform() [pool release]; } + +string Platform::WritablePathForFileIndexes(string const & country_name) const +{ + string dir = m_writableDir + country_name.c_str() + '/'; + if (!IsFileExistsByFullPath(dir)) + ::mkdir(dir.c_str(), 0755); + return dir; +} + void Platform::GetFilesByRegExp(string const & directory, string const & regexp, FilesList & res) { pl::EnumerateFilesByRegExp(directory, regexp, res); diff --git a/platform/platform_linux.cpp b/platform/platform_linux.cpp index f99bdb027f..52d054d4c8 100644 --- a/platform/platform_linux.cpp +++ b/platform/platform_linux.cpp @@ -2,6 +2,7 @@ #include "../base/logging.hpp" #include "../coding/file_reader.hpp" +#include "../coding/file_name_utils.hpp" #include <stdlib.h> #include <unistd.h> @@ -90,6 +91,14 @@ Platform::Platform() LOG(LDEBUG, ("Client ID:", UniqueClientId())); } +string Platform::WritablePathForFileIndexes(string const & country_name) const +{ + string dir = WritableDir() + country_name + my::GetNativeSeparator(); + if (!IsFileExistsByFullPath(dir)) + mkdir(dir.c_str(), 0755); + return dir; +} + int Platform::CpuCores() const { const long numCPU = sysconf(_SC_NPROCESSORS_ONLN); diff --git a/platform/platform_mac.mm b/platform/platform_mac.mm index fcbdc6d081..cd5eea67c7 100644 --- a/platform/platform_mac.mm +++ b/platform/platform_mac.mm @@ -78,6 +78,15 @@ Platform::Platform() [pool release]; } +string Platform::WritablePathForFileIndexes(string const & country_name) const +{ + + string dir = m_writableDir + country_name.c_str() + '/'; + if (!IsFileExistsByFullPath(dir)) + ::mkdir(dir.c_str(), 0755); + return dir; +} + int Platform::CpuCores() const { int mib[2], numCPU = 0; diff --git a/platform/platform_tizen.cpp b/platform/platform_tizen.cpp index 56bd4aaa93..47a8f01b60 100644 --- a/platform/platform_tizen.cpp +++ b/platform/platform_tizen.cpp @@ -10,6 +10,7 @@ #include <sys/types.h> #include "../coding/file_reader.hpp" +#include "../coding/file_name_utils.hpp" #include "../base/logging.hpp" @@ -43,6 +44,14 @@ Platform::Platform() m_flags[HAS_ROUTING] = true; } +string Platform::WritablePathForFileIndexes(string const & country_name) const +{ + string dir = WritableDir() + country_name + my::GetNativeSeparator(); + if (!IsFileExistsByFullPath(dir)) + Tizen::Io::Directory::Create(dir.c_str(), true); + return dir; +} + int Platform::CpuCores() const { /// @todo diff --git a/platform/platform_win.cpp b/platform/platform_win.cpp index 271a5f1a07..ddddc4ebfa 100644 --- a/platform/platform_win.cpp +++ b/platform/platform_win.cpp @@ -4,6 +4,7 @@ #include "../base/logging.hpp" #include "../coding/file_writer.hpp" +#include "../coding/file_name_utils.hpp" #include "../std/windows.hpp" #include "../std/bind.hpp" @@ -86,6 +87,12 @@ Platform::Platform() LOG(LDEBUG, ("Settings Directory:", m_settingsDir)); } +string Platform::WritablePathForFileIndexes(string const & country_name) const +{ + string dir = WritableDir() + country_name + my::GetNativeSeparator(); + return dir; +} + bool Platform::IsFileExistsByFullPath(string const & filePath) { return ::GetFileAttributesA(filePath.c_str()) != INVALID_FILE_ATTRIBUTES; |