Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLev Dragunov <l.dragunov@corp.mail.ru>2015-03-05 19:14:29 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:38:23 +0300
commitc30ae8eab34ab5de5e7684400f5e9032fa8f3736 (patch)
tree90fb41dd723229f9f761ac5f17f0e28013060845 /platform
parent3a3028d0599fd329dc0068f3487ae63a49380a4b (diff)
different file index pathes
Diffstat (limited to 'platform')
-rw-r--r--platform/platform.hpp2
-rw-r--r--platform/platform_ios.mm10
-rw-r--r--platform/platform_linux.cpp9
-rw-r--r--platform/platform_mac.mm9
-rw-r--r--platform/platform_tizen.cpp9
-rw-r--r--platform/platform_win.cpp7
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;