diff options
author | vng <viktor.govako@gmail.com> | 2012-09-27 01:40:11 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:44:02 +0300 |
commit | f3d4dda1f36bf7ee3a6969ed62a6d5d3637363de (patch) | |
tree | db978fa87052444fd50ab68473d6ce39de03223d /coding | |
parent | 8653a716cc11139377ef390a5ea3e7be17504fdd (diff) |
[android] Add storage path settings.
Diffstat (limited to 'coding')
-rw-r--r-- | coding/internal/file_data.cpp | 19 | ||||
-rw-r--r-- | coding/internal/file_data.hpp | 1 |
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); } |