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:
authorAlex Zolotarev <deathbaba@gmail.com>2010-12-05 19:24:16 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-22 22:33:57 +0300
commitd6e12b7ce4bcbf0ccd1c07eb25de143422913c34 (patch)
treea7e910c330ce4da9b4f2d8be76067adece2561c4 /coding/file_writer.cpp
One Month In Minsk. Made in Belarus.
Diffstat (limited to 'coding/file_writer.cpp')
-rw-r--r--coding/file_writer.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/coding/file_writer.cpp b/coding/file_writer.cpp
new file mode 100644
index 0000000000..e4b00db7fb
--- /dev/null
+++ b/coding/file_writer.cpp
@@ -0,0 +1,68 @@
+#include "file_writer.hpp"
+#include "internal/file_data.hpp"
+
+#include "../std/cstdlib.hpp"
+#include "../std/string.hpp"
+
+#include "../../base/start_mem_debug.hpp"
+
+
+FileWriter::FileWriter(string const & fileName, FileWriter::Op op)
+ : m_pFileData(new FileData(fileName, static_cast<FileData::Op>(op)))
+{
+}
+
+FileWriter::~FileWriter()
+{
+}
+
+int64_t FileWriter::Pos() const
+{
+ return m_pFileData->Pos();
+}
+
+void FileWriter::Seek(int64_t pos)
+{
+ ASSERT_GREATER_OR_EQUAL(pos, 0, ());
+ m_pFileData->Seek(pos);
+}
+
+void FileWriter::Write(void const * p, size_t size)
+{
+ m_pFileData->Write(p, size);
+}
+
+string FileWriter::GetName() const
+{
+ return m_pFileData->GetName();
+}
+
+void FileWriter::DeleteFile(string const & fileName)
+{
+#ifdef OMIM_OS_BADA
+ Osp::Io::File::Remove(fileName.c_str());
+#else
+
+ // Erase file.
+ if (0 != remove(fileName.c_str()))
+ {
+ // additional check if file really was removed correctly
+ FILE * f = fopen(fileName.c_str(), "r");
+ if (f)
+ {
+ fclose(f);
+ LOG(LERROR, ("File exists but can't be deleted. Sharing violation?", fileName));
+ }
+ }
+#endif
+}
+
+uint64_t FileWriter::Size() const
+{
+ return m_pFileData->Size();
+}
+
+void FileWriter::Flush()
+{
+ m_pFileData->Flush();
+}