Chromium Code Reviews| Index: chrome/browser/media_galleries/linux/mtp_device_delegate_impl_linux.h |
| diff --git a/chrome/browser/media_galleries/linux/mtp_device_delegate_impl_linux.h b/chrome/browser/media_galleries/linux/mtp_device_delegate_impl_linux.h |
| index 0b9a7725b65e1a566fefceac6e61baedaeec28b5..ad05d45433014be7b779df5d087095c4fc61f191 100644 |
| --- a/chrome/browser/media_galleries/linux/mtp_device_delegate_impl_linux.h |
| +++ b/chrome/browser/media_galleries/linux/mtp_device_delegate_impl_linux.h |
| @@ -32,6 +32,7 @@ class MTPDeviceDelegateImplLinux : public MTPDeviceAsyncDelegate { |
| private: |
| friend void CreateMTPDeviceAsyncDelegate( |
| const std::string&, |
| + const bool read_only, |
| const CreateMTPDeviceAsyncDelegateCallback&); |
| enum InitializationState { |
| @@ -66,7 +67,8 @@ class MTPDeviceDelegateImplLinux : public MTPDeviceAsyncDelegate { |
| // Should only be called by CreateMTPDeviceAsyncDelegate() factory call. |
| // Defer the device initializations until the first file operation request. |
| // Do all the initializations in EnsureInitAndRunTask() function. |
| - explicit MTPDeviceDelegateImplLinux(const std::string& device_location); |
| + explicit MTPDeviceDelegateImplLinux(const std::string& device_location, |
|
Lei Zhang
2015/03/02 23:41:39
no longer explicit
yawano
2015/03/03 09:16:54
Done.
|
| + const bool read_only); |
| // Destructed via CancelPendingTasksAndDeleteDelegate(). |
| ~MTPDeviceDelegateImplLinux() override; |
| @@ -90,6 +92,12 @@ class MTPDeviceDelegateImplLinux : public MTPDeviceAsyncDelegate { |
| int buf_len, |
| const ReadBytesSuccessCallback& success_callback, |
| const ErrorCallback& error_callback) override; |
| + bool IsReadOnly() override; |
| + void CopyFileFromLocal( |
| + const base::FilePath& source_file_path, |
| + const base::FilePath& device_file_path, |
| + const CopyFileFromLocalSuccessCallback& success_callback, |
| + const ErrorCallback& error_callback) override; |
| void CancelPendingTasksAndDeleteDelegate() override; |
| // The internal methods correspond to the similarly named methods above. |
| @@ -112,6 +120,11 @@ class MTPDeviceDelegateImplLinux : public MTPDeviceAsyncDelegate { |
| net::IOBuffer* buf, int64 offset, int buf_len, |
| const ReadBytesSuccessCallback& success_callback, |
| const ErrorCallback& error_callback); |
| + virtual void CopyFileFromLocalInternal( |
| + const base::FilePath& source_file_path, |
| + const base::FilePath& device_file_path, |
| + const CopyFileFromLocalSuccessCallback& success_callback, |
| + const ErrorCallback& error_callback); |
| // Ensures the device is initialized for communication. |
| // If the device is already initialized, call RunTask(). |
| @@ -222,6 +235,16 @@ class MTPDeviceDelegateImplLinux : public MTPDeviceAsyncDelegate { |
| // Called when FillFileCache() fails. |
| void OnFillFileCacheFailed(base::File::Error error); |
| + // Called when CopyFileFromLocal() succeeds. |
| + void OnDidCopyFileFromLocal( |
| + const CopyFileFromLocalSuccessCallback& success_callback, |
| + const uint32 source_file_descriptor); |
| + |
| + // Called when CopyFileFromLocal() fails. |
| + void HandleCopyFileFromLocalError(const ErrorCallback& error_callback, |
| + const uint32 source_file_descriptor, |
| + base::File::Error error); |
| + |
| // Handles the device file |error| while operating on |file_id|. |
| // |error_callback| is invoked to notify the caller about the file error. |
| void HandleDeviceFileError(const ErrorCallback& error_callback, |
| @@ -257,6 +280,9 @@ class MTPDeviceDelegateImplLinux : public MTPDeviceAsyncDelegate { |
| // MTP device storage name (e.g. "usb:2,2:81282"). |
| std::string storage_name_; |
| + // Mode for opening storage. |
| + const bool read_only_; |
| + |
| // A list of pending tasks that needs to be run when the device is |
| // initialized or when the current task in progress is complete. |
| std::deque<PendingTaskInfo> pending_tasks_; |