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
path: root/coding
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2012-09-27 01:40:11 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:44:02 +0300
commitf3d4dda1f36bf7ee3a6969ed62a6d5d3637363de (patch)
treedb978fa87052444fd50ab68473d6ce39de03223d /coding
parent8653a716cc11139377ef390a5ea3e7be17504fdd (diff)
[android] Add storage path settings.
Diffstat (limited to 'coding')
-rw-r--r--coding/internal/file_data.cpp19
-rw-r--r--coding/internal/file_data.hpp1
2 files changed, 20 insertions, 0 deletions
diff --git a/coding/internal/file_data.cpp b/coding/internal/file_data.cpp
index 5f6f8d3c63..ebd35e1636 100644
--- a/coding/internal/file_data.cpp
+++ b/coding/internal/file_data.cpp
@@ -7,6 +7,8 @@
#include "../../base/logging.hpp"
#include "../../std/target_os.hpp"
+#include "../../std/fstream.hpp"
+#include "../../std/exception.hpp"
#ifdef OMIM_OS_WINDOWS
#include <io.h>
@@ -228,4 +230,21 @@ bool RenameFileX(string const & fOld, string const & fNew)
return CheckRemoveResult(res, fOld);
}
+bool CopyFile(string const & fOld, string const & fNew)
+{
+ try
+ {
+ ifstream ifs(fOld.c_str());
+ ofstream ofs(fNew.c_str());
+
+ ofs << ifs.rdbuf();
+ return true;
+ }
+ catch (exception const & ex)
+ {
+ LOG(LERROR, ("Copy file error: ", ex.what()));
+ return false;
+ }
+}
+
}
diff --git a/coding/internal/file_data.hpp b/coding/internal/file_data.hpp
index 66338c05f1..72f76b1599 100644
--- a/coding/internal/file_data.hpp
+++ b/coding/internal/file_data.hpp
@@ -47,5 +47,6 @@ private:
bool GetFileSize(string const & fName, uint64_t & sz);
bool DeleteFileX(string const & fName);
bool RenameFileX(string const & fOld, string const & fNew);
+bool CopyFile(string const & fOld, string const & fNew);
}