diff options
author | nhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-06 17:03:21 +0000 |
---|---|---|
committer | nhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-06 17:03:21 +0000 |
commit | 2e0edab8a891ce9cdc3228d4e31a691563fd0828 (patch) | |
tree | 844aab03ba7c251c9fa3c4d90aaa7a09f405cc42 /webkit/fileapi | |
parent | 9f84e378860107f28ab0c2e5fed619d31d4fef81 (diff) | |
download | chromium_src-2e0edab8a891ce9cdc3228d4e31a691563fd0828.zip chromium_src-2e0edab8a891ce9cdc3228d4e31a691563fd0828.tar.gz chromium_src-2e0edab8a891ce9cdc3228d4e31a691563fd0828.tar.bz2 |
Add conversion function from leveldb::Status to fileapi::SyncStatusCode
BUG=152127
TEST=content_unittests
Review URL: https://chromiumcodereview.appspot.com/11026064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160577 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi')
-rw-r--r-- | webkit/fileapi/syncable/sync_status_code.cc | 24 | ||||
-rw-r--r-- | webkit/fileapi/syncable/sync_status_code.h | 7 | ||||
-rw-r--r-- | webkit/fileapi/webkit_fileapi.gypi | 1 |
3 files changed, 32 insertions, 0 deletions
diff --git a/webkit/fileapi/syncable/sync_status_code.cc b/webkit/fileapi/syncable/sync_status_code.cc new file mode 100644 index 0000000..541f315 --- /dev/null +++ b/webkit/fileapi/syncable/sync_status_code.cc @@ -0,0 +1,24 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "webkit/fileapi/syncable/sync_status_code.h" + +#include "third_party/leveldatabase/src/include/leveldb/db.h" + +namespace fileapi { + +SyncStatusCode LevelDBStatusToSyncStatusCode(leveldb::Status status) { + if (status.ok()) + return SYNC_STATUS_OK; + else if (status.IsNotFound()) + return SYNC_DATABASE_ERROR_NOT_FOUND; + else if (status.IsCorruption()) + return SYNC_DATABASE_ERROR_CORRUPTION; + else if (status.IsIOError()) + return SYNC_DATABASE_ERROR_IO_ERROR; + else + return SYNC_DATABASE_ERROR_UNKNOWN; +} + +} // namespace fileapi diff --git a/webkit/fileapi/syncable/sync_status_code.h b/webkit/fileapi/syncable/sync_status_code.h index 1bfba01..46d3d04 100644 --- a/webkit/fileapi/syncable/sync_status_code.h +++ b/webkit/fileapi/syncable/sync_status_code.h @@ -5,6 +5,10 @@ #ifndef WEBKIT_FILEAPI_SYNCABLE_SYNC_STATUS_CODE_H_ #define WEBKIT_FILEAPI_SYNCABLE_SYNC_STATUS_CODE_H_ +namespace leveldb { +class Status; +} + namespace fileapi { enum SyncStatusCode { @@ -31,8 +35,11 @@ enum SyncStatusCode { SYNC_DATABASE_ERROR_NOT_FOUND = -16, SYNC_DATABASE_ERROR_CORRUPTION = -17, SYNC_DATABASE_ERROR_IO_ERROR = -18, + SYNC_DATABASE_ERROR_UNKNOWN = -19, }; +SyncStatusCode LevelDBStatusToSyncStatusCode(leveldb::Status status); + } // namespace fileapi #endif // WEBKIT_FILEAPI_SYNCABLE_SYNC_STATUS_CODE_H_ diff --git a/webkit/fileapi/webkit_fileapi.gypi b/webkit/fileapi/webkit_fileapi.gypi index 94f2352..65d5793 100644 --- a/webkit/fileapi/webkit_fileapi.gypi +++ b/webkit/fileapi/webkit_fileapi.gypi @@ -98,6 +98,7 @@ 'syncable/local_file_change_tracker.h', 'syncable/local_file_sync_status.cc', 'syncable/local_file_sync_status.h', + 'syncable/sync_status_code.cc', 'syncable/sync_status_code.h', 'syncable/syncable_file_system_util.cc', 'syncable/syncable_file_system_util.h', |