| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_UTIL_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_UTIL_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_UTIL_H_ | 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_UTIL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 // Example: path="/user/GCache/v1/persistent/pdf:a1b2.01234567.mounted" => | 101 // Example: path="/user/GCache/v1/persistent/pdf:a1b2.01234567.mounted" => |
| 102 // resource_id="pdf:a1b2", md5="01234567", extra_extension="mounted". | 102 // resource_id="pdf:a1b2", md5="01234567", extra_extension="mounted". |
| 103 void ParseCacheFilePath(const FilePath& path, | 103 void ParseCacheFilePath(const FilePath& path, |
| 104 std::string* resource_id, | 104 std::string* resource_id, |
| 105 std::string* md5, | 105 std::string* md5, |
| 106 std::string* extra_extension); | 106 std::string* extra_extension); |
| 107 | 107 |
| 108 // Returns true if Drive v2 API is enabled via commandline switch. | 108 // Returns true if Drive v2 API is enabled via commandline switch. |
| 109 bool IsDriveV2ApiEnabled(); | 109 bool IsDriveV2ApiEnabled(); |
| 110 | 110 |
| 111 // Returns a PlatformFileError that corresponds to the GDataFileError provided. | 111 // Returns a PlatformFileError that corresponds to the DriveFileError provided. |
| 112 base::PlatformFileError GDataFileErrorToPlatformError(GDataFileError error); | 112 base::PlatformFileError DriveFileErrorToPlatformError(DriveFileError error); |
| 113 | 113 |
| 114 // Parses an RFC 3339 date/time into a base::Time, returning true on success. | 114 // Parses an RFC 3339 date/time into a base::Time, returning true on success. |
| 115 // The time string must be in the format "yyyy-mm-ddThh:mm:ss.dddTZ" (TZ is | 115 // The time string must be in the format "yyyy-mm-ddThh:mm:ss.dddTZ" (TZ is |
| 116 // either '+hh:mm', '-hh:mm', 'Z' (representing UTC), or an empty string). | 116 // either '+hh:mm', '-hh:mm', 'Z' (representing UTC), or an empty string). |
| 117 bool GetTimeFromString(const base::StringPiece& raw_value, base::Time* time); | 117 bool GetTimeFromString(const base::StringPiece& raw_value, base::Time* time); |
| 118 | 118 |
| 119 // Formats a base::Time as an RFC 3339 date/time (in UTC). | 119 // Formats a base::Time as an RFC 3339 date/time (in UTC). |
| 120 std::string FormatTimeAsString(const base::Time& time); | 120 std::string FormatTimeAsString(const base::Time& time); |
| 121 // Formats a base::Time as an RFC 3339 date/time (in localtime). | 121 // Formats a base::Time as an RFC 3339 date/time (in localtime). |
| 122 std::string FormatTimeAsStringLocaltime(const base::Time& time); | 122 std::string FormatTimeAsStringLocaltime(const base::Time& time); |
| 123 | 123 |
| 124 // Callback type for PrepareWritableFilePathAndRun. | 124 // Callback type for PrepareWritableFilePathAndRun. |
| 125 typedef base::Callback<void (GDataFileError, const FilePath& path)> | 125 typedef base::Callback<void (DriveFileError, const FilePath& path)> |
| 126 OpenFileCallback; | 126 OpenFileCallback; |
| 127 | 127 |
| 128 // Invokes |callback| on blocking thread pool, after converting virtual |path| | 128 // Invokes |callback| on blocking thread pool, after converting virtual |path| |
| 129 // string like "/special/drive/foo.txt" to the concrete local cache file path. | 129 // string like "/special/drive/foo.txt" to the concrete local cache file path. |
| 130 // After |callback| returns, the written content is synchronized to the server. | 130 // After |callback| returns, the written content is synchronized to the server. |
| 131 // | 131 // |
| 132 // If |path| is not a GData path, it is regarded as a local path and no path | 132 // If |path| is not a GData path, it is regarded as a local path and no path |
| 133 // conversion takes place. | 133 // conversion takes place. |
| 134 // | 134 // |
| 135 // Must be called from UI thread. | 135 // Must be called from UI thread. |
| 136 void PrepareWritableFileAndRun(Profile* profile, | 136 void PrepareWritableFileAndRun(Profile* profile, |
| 137 const FilePath& path, | 137 const FilePath& path, |
| 138 const OpenFileCallback& callback); | 138 const OpenFileCallback& callback); |
| 139 | 139 |
| 140 // Converts gdata error code into file platform error code. | 140 // Converts GData error code into file platform error code. |
| 141 GDataFileError GDataToGDataFileError(GDataErrorCode status); | 141 DriveFileError GDataToDriveFileError(GDataErrorCode status); |
| 142 | 142 |
| 143 // Wrapper around BrowserThread::PostTask to post a task to the blocking | 143 // Wrapper around BrowserThread::PostTask to post a task to the blocking |
| 144 // pool with the given sequence token. | 144 // pool with the given sequence token. |
| 145 void PostBlockingPoolSequencedTask( | 145 void PostBlockingPoolSequencedTask( |
| 146 const tracked_objects::Location& from_here, | 146 const tracked_objects::Location& from_here, |
| 147 base::SequencedTaskRunner* blocking_task_runner, | 147 base::SequencedTaskRunner* blocking_task_runner, |
| 148 const base::Closure& task); | 148 const base::Closure& task); |
| 149 | 149 |
| 150 // Similar to PostBlockingPoolSequencedTask() but this one takes a reply | 150 // Similar to PostBlockingPoolSequencedTask() but this one takes a reply |
| 151 // callback that runs on the calling thread. | 151 // callback that runs on the calling thread. |
| 152 void PostBlockingPoolSequencedTaskAndReply( | 152 void PostBlockingPoolSequencedTaskAndReply( |
| 153 const tracked_objects::Location& from_here, | 153 const tracked_objects::Location& from_here, |
| 154 base::SequencedTaskRunner* blocking_task_runner, | 154 base::SequencedTaskRunner* blocking_task_runner, |
| 155 const base::Closure& request_task, | 155 const base::Closure& request_task, |
| 156 const base::Closure& reply_task); | 156 const base::Closure& reply_task); |
| 157 | 157 |
| 158 } // namespace util | 158 } // namespace util |
| 159 } // namespace gdata | 159 } // namespace gdata |
| 160 | 160 |
| 161 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_UTIL_H_ | 161 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_UTIL_H_ |
| OLD | NEW |