Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: third_party/leveldatabase/env_chromium.cc

Issue 12286020: Replace FilePath with base::FilePath. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 1 // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. See the AUTHORS file for names of contributors. 3 // found in the LICENSE file. See the AUTHORS file for names of contributors.
4 4
5 #include <deque> 5 #include <deque>
6 #include <errno.h> 6 #include <errno.h>
7 #include <stdio.h> 7 #include <stdio.h>
8 #include "base/at_exit.h" 8 #include "base/at_exit.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 67
68 // Wide-char safe fopen wrapper. 68 // Wide-char safe fopen wrapper.
69 FILE* fopen_internal(const char* fname, const char* mode) { 69 FILE* fopen_internal(const char* fname, const char* mode) {
70 #if defined(OS_WIN) 70 #if defined(OS_WIN)
71 return _wfopen(UTF8ToUTF16(fname).c_str(), ASCIIToUTF16(mode).c_str()); 71 return _wfopen(UTF8ToUTF16(fname).c_str(), ASCIIToUTF16(mode).c_str());
72 #else 72 #else
73 return fopen(fname, mode); 73 return fopen(fname, mode);
74 #endif 74 #endif
75 } 75 }
76 76
77 ::FilePath CreateFilePath(const std::string& file_path) { 77 base::FilePath CreateFilePath(const std::string& file_path) {
78 #if defined(OS_WIN) 78 #if defined(OS_WIN)
79 return FilePath(UTF8ToUTF16(file_path)); 79 return base::FilePath(UTF8ToUTF16(file_path));
80 #else 80 #else
81 return FilePath(file_path); 81 return base::FilePath(file_path);
82 #endif 82 #endif
83 } 83 }
84 84
85 std::string FilePathToString(const ::FilePath& file_path) { 85 std::string FilePathToString(const base::FilePath& file_path) {
86 #if defined(OS_WIN) 86 #if defined(OS_WIN)
87 return UTF16ToUTF8(file_path.value()); 87 return UTF16ToUTF8(file_path.value());
88 #else 88 #else
89 return file_path.value(); 89 return file_path.value();
90 #endif 90 #endif
91 } 91 }
92 92
93 bool sync_parent(const std::string& fname) { 93 bool sync_parent(const std::string& fname) {
94 #if !defined(OS_WIN) 94 #if !defined(OS_WIN)
95 FilePath parent_dir = CreateFilePath(fname).DirName(); 95 base::FilePath parent_dir = CreateFilePath(fname).DirName();
96 int parent_fd = HANDLE_EINTR(open(FilePathToString(parent_dir).c_str(), O_RDON LY)); 96 int parent_fd = HANDLE_EINTR(open(FilePathToString(parent_dir).c_str(), O_RDON LY));
97 if (parent_fd < 0) 97 if (parent_fd < 0)
98 return false; 98 return false;
99 HANDLE_EINTR(fsync(parent_fd)); 99 HANDLE_EINTR(fsync(parent_fd));
100 HANDLE_EINTR(close(parent_fd)); 100 HANDLE_EINTR(close(parent_fd));
101 #endif 101 #endif
102 return true; 102 return true;
103 } 103 }
104 104
105 enum UmaEntry { 105 enum UmaEntry {
(...skipping 27 matching lines...) Expand all
133 }; 133 };
134 134
135 } // namespace 135 } // namespace
136 136
137 namespace leveldb { 137 namespace leveldb {
138 138
139 namespace { 139 namespace {
140 140
141 class Thread; 141 class Thread;
142 142
143 static const ::FilePath::CharType kLevelDBTestDirectoryPrefix[] 143 static const base::FilePath::CharType kLevelDBTestDirectoryPrefix[]
144 = FILE_PATH_LITERAL("leveldb-test-"); 144 = FILE_PATH_LITERAL("leveldb-test-");
145 145
146 const char* PlatformFileErrorString(const ::base::PlatformFileError& error) { 146 const char* PlatformFileErrorString(const ::base::PlatformFileError& error) {
147 switch (error) { 147 switch (error) {
148 case ::base::PLATFORM_FILE_ERROR_FAILED: 148 case ::base::PLATFORM_FILE_ERROR_FAILED:
149 return "Opening file failed."; 149 return "Opening file failed.";
150 case ::base::PLATFORM_FILE_ERROR_IN_USE: 150 case ::base::PLATFORM_FILE_ERROR_IN_USE:
151 return "File currently in use."; 151 return "File currently in use.";
152 case ::base::PLATFORM_FILE_ERROR_EXISTS: 152 case ::base::PLATFORM_FILE_ERROR_EXISTS:
153 return "File already exists."; 153 return "File already exists.";
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 374
375 virtual bool FileExists(const std::string& fname) { 375 virtual bool FileExists(const std::string& fname) {
376 return ::file_util::PathExists(CreateFilePath(fname)); 376 return ::file_util::PathExists(CreateFilePath(fname));
377 } 377 }
378 378
379 virtual Status GetChildren(const std::string& dir, 379 virtual Status GetChildren(const std::string& dir,
380 std::vector<std::string>* result) { 380 std::vector<std::string>* result) {
381 result->clear(); 381 result->clear();
382 ::file_util::FileEnumerator iter( 382 ::file_util::FileEnumerator iter(
383 CreateFilePath(dir), false, ::file_util::FileEnumerator::FILES); 383 CreateFilePath(dir), false, ::file_util::FileEnumerator::FILES);
384 ::FilePath current = iter.Next(); 384 base::FilePath current = iter.Next();
385 while (!current.empty()) { 385 while (!current.empty()) {
386 result->push_back(FilePathToString(current.BaseName())); 386 result->push_back(FilePathToString(current.BaseName()));
387 current = iter.Next(); 387 current = iter.Next();
388 } 388 }
389 // TODO(jorlow): Unfortunately, the FileEnumerator swallows errors, so 389 // TODO(jorlow): Unfortunately, the FileEnumerator swallows errors, so
390 // we'll always return OK. Maybe manually check for error 390 // we'll always return OK. Maybe manually check for error
391 // conditions like the file not existing? 391 // conditions like the file not existing?
392 return Status::OK(); 392 return Status::OK();
393 } 393 }
394 394
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 s = Status::IOError(fname, "Could not determine file size."); 429 s = Status::IOError(fname, "Could not determine file size.");
430 RecordErrorAt(kGetFileSize); 430 RecordErrorAt(kGetFileSize);
431 } else { 431 } else {
432 *size = static_cast<uint64_t>(signed_size); 432 *size = static_cast<uint64_t>(signed_size);
433 } 433 }
434 return s; 434 return s;
435 } 435 }
436 436
437 virtual Status RenameFile(const std::string& src, const std::string& dst) { 437 virtual Status RenameFile(const std::string& src, const std::string& dst) {
438 Status result; 438 Status result;
439 FilePath src_file_path = CreateFilePath(src); 439 base::FilePath src_file_path = CreateFilePath(src);
440 if (!::file_util::PathExists(src_file_path)) 440 if (!::file_util::PathExists(src_file_path))
441 return result; 441 return result;
442 if (!::file_util::ReplaceFile(src_file_path, CreateFilePath(dst))) { 442 if (!::file_util::ReplaceFile(src_file_path, CreateFilePath(dst))) {
443 result = Status::IOError(src, "Could not rename file."); 443 result = Status::IOError(src, "Could not rename file.");
444 RecordErrorAt(kRenamefile); 444 RecordErrorAt(kRenamefile);
445 } else { 445 } else {
446 sync_parent(dst); 446 sync_parent(dst);
447 if (src != dst) 447 if (src != dst)
448 sync_parent(src); 448 sync_parent(src);
449 } 449 }
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 protected: 553 protected:
554 void InitHistograms(const std::string& uma_title); 554 void InitHistograms(const std::string& uma_title);
555 555
556 private: 556 private:
557 // BGThread() is the body of the background thread 557 // BGThread() is the body of the background thread
558 void BGThread(); 558 void BGThread();
559 static void BGThreadWrapper(void* arg) { 559 static void BGThreadWrapper(void* arg) {
560 reinterpret_cast<ChromiumEnv*>(arg)->BGThread(); 560 reinterpret_cast<ChromiumEnv*>(arg)->BGThread();
561 } 561 }
562 562
563 FilePath test_directory_; 563 base::FilePath test_directory_;
564 564
565 size_t page_size_; 565 size_t page_size_;
566 ::base::Lock mu_; 566 ::base::Lock mu_;
567 ::base::ConditionVariable bgsignal_; 567 ::base::ConditionVariable bgsignal_;
568 bool started_bgthread_; 568 bool started_bgthread_;
569 569
570 // Entry per Schedule() call 570 // Entry per Schedule() call
571 struct BGItem { void* arg; void (*function)(void*); }; 571 struct BGItem { void* arg; void (*function)(void*); };
572 typedef std::deque<BGItem> BGQueue; 572 typedef std::deque<BGItem> BGQueue;
573 BGQueue queue_; 573 BGQueue queue_;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 678
679 Env* IDBEnv() { 679 Env* IDBEnv() {
680 return idb_env.Pointer(); 680 return idb_env.Pointer();
681 } 681 }
682 682
683 Env* Env::Default() { 683 Env* Env::Default() {
684 return default_env.Pointer(); 684 return default_env.Pointer();
685 } 685 }
686 686
687 } 687 }
OLDNEW
« no previous file with comments | « remoting/protocol/ssl_hmac_channel_authenticator_unittest.cc ('k') | ui/base/resource/resource_bundle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698