blob: 9199974c5b15ae23d64dc1193159a12147262d49 [file] [log] [blame]
[email protected]78a158b2013-04-23 06:57:491// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_CHROMEOS_DRIVE_FILE_ERRORS_H_
6#define CHROME_BROWSER_CHROMEOS_DRIVE_FILE_ERRORS_H_
7
8#include "base/callback_forward.h"
9#include "base/platform_file.h"
10#include "chrome/browser/google_apis/drive_upload_error.h"
11
12namespace drive {
13
14enum FileError {
15 FILE_ERROR_OK = 0,
16 FILE_ERROR_FAILED = -1,
17 FILE_ERROR_IN_USE = -2,
18 FILE_ERROR_EXISTS = -3,
19 FILE_ERROR_NOT_FOUND = -4,
20 FILE_ERROR_ACCESS_DENIED = -5,
21 FILE_ERROR_TOO_MANY_OPENED = -6,
22 FILE_ERROR_NO_MEMORY = -7,
23 FILE_ERROR_NO_SPACE = -8,
24 FILE_ERROR_NOT_A_DIRECTORY = -9,
25 FILE_ERROR_INVALID_OPERATION = -10,
26 FILE_ERROR_SECURITY = -11,
27 FILE_ERROR_ABORT = -12,
28 FILE_ERROR_NOT_A_FILE = -13,
29 FILE_ERROR_NOT_EMPTY = -14,
30 FILE_ERROR_INVALID_URL = -15,
31 FILE_ERROR_NO_CONNECTION = -16,
32 FILE_ERROR_THROTTLED = -17,
33};
34
35// Used as callbacks for file operations.
36typedef base::Callback<void(FileError error)> FileOperationCallback;
37
38// Returns a string representation of FileError.
39std::string FileErrorToString(FileError error);
40
41// Returns a PlatformFileError that corresponds to the FileError provided.
42base::PlatformFileError FileErrorToPlatformError(FileError error);
43
44// Returns a FileError that corresponds to the DriveUploadError provided.
45FileError DriveUploadErrorToFileError(
46 google_apis::DriveUploadError error);
47
48} // namespace drive
49
50#endif // CHROME_BROWSER_CHROMEOS_DRIVE_FILE_ERRORS_H_