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

Unified Diff: chrome/browser/drive/drive_uploader.h

Issue 1190203002: Move (most of) chrome/browser/drive into components/drive/service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing... Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/drive/drive_service_interface.cc ('k') | chrome/browser/drive/drive_uploader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/drive/drive_uploader.h
diff --git a/chrome/browser/drive/drive_uploader.h b/chrome/browser/drive/drive_uploader.h
deleted file mode 100644
index 6d511bf8138f5ec93f8f6283a003d672a7fbcd0d..0000000000000000000000000000000000000000
--- a/chrome/browser/drive/drive_uploader.h
+++ /dev/null
@@ -1,240 +0,0 @@
-// 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.
-
-#ifndef CHROME_BROWSER_DRIVE_DRIVE_UPLOADER_H_
-#define CHROME_BROWSER_DRIVE_DRIVE_UPLOADER_H_
-
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/callback_forward.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/weak_ptr.h"
-#include "base/threading/thread_checker.h"
-#include "chrome/browser/drive/drive_service_interface.h"
-#include "google_apis/drive/drive_api_error_codes.h"
-
-class GURL;
-
-namespace base {
-class FilePath;
-class TaskRunner;
-}
-
-namespace google_apis {
-struct UploadRangeResponse;
-}
-
-namespace drive {
-class DriveServiceInterface;
-
-// Callback to be invoked once the upload has completed.
-// |upload_location| will be returned when the uploading process is started but
-// terminated before the completion due to some errors. It can be used to
-// resume it.
-typedef base::Callback<void(
- google_apis::DriveApiErrorCode error,
- const GURL& upload_location,
- scoped_ptr<google_apis::FileResource> resource_entry)>
- UploadCompletionCallback;
-
-class DriveUploaderInterface {
- public:
- virtual ~DriveUploaderInterface() {}
-
- // Starts batch processing for upload requests. All requests which upload
- // small files (less than kMaxMultipartUploadSize) between
- // |StartBatchProcessing| and |StopBatchProcessing| are sent as a single batch
- // request.
- virtual void StartBatchProcessing() = 0;
-
- // Stops batch processing. Must be called after calling |StartBatchProcessing|
- // to commit requests.
- virtual void StopBatchProcessing() = 0;
-
- // Uploads a new file to a directory specified by |upload_location|.
- // Returns a callback for cancelling the uploading job.
- //
- // parent_resource_id:
- // resource id of the destination directory.
- //
- // local_file_path:
- // The path to the local file to be uploaded.
- //
- // title:
- // The title (file name) of the file to be uploaded.
- //
- // content_type:
- // The content type of the file to be uploaded.
- //
- // callback:
- // Called when an upload is done regardless of it was successful or not.
- // Must not be null.
- //
- // progress_callback:
- // Periodically called back with the total number of bytes sent so far.
- // May be null if the information is not needed.
- virtual google_apis::CancelCallback UploadNewFile(
- const std::string& parent_resource_id,
- const base::FilePath& local_file_path,
- const std::string& title,
- const std::string& content_type,
- const UploadNewFileOptions& options,
- const UploadCompletionCallback& callback,
- const google_apis::ProgressCallback& progress_callback) = 0;
-
- // Uploads an existing file (a file that already exists on Drive).
- //
- // See comments at UploadNewFile about common parameters and the return value.
- //
- // resource_id:
- // resource id of the existing file to be overwritten.
- //
- // etag:
- // Expected ETag for the destination file. If it does not match, the upload
- // fails with UPLOAD_ERROR_CONFLICT.
- // If |etag| is empty, the test is skipped.
- virtual google_apis::CancelCallback UploadExistingFile(
- const std::string& resource_id,
- const base::FilePath& local_file_path,
- const std::string& content_type,
- const UploadExistingFileOptions& options,
- const UploadCompletionCallback& callback,
- const google_apis::ProgressCallback& progress_callback) = 0;
-
- // Resumes the uploading process terminated before the completion.
- // |upload_location| should be the one returned via UploadCompletionCallback
- // for previous invocation. |drive_file_path|, |local_file_path| and
- // |content_type| must be set to the same ones for previous invocation.
- //
- // See comments at UploadNewFile about common parameters and the return value.
- virtual google_apis::CancelCallback ResumeUploadFile(
- const GURL& upload_location,
- const base::FilePath& local_file_path,
- const std::string& content_type,
- const UploadCompletionCallback& callback,
- const google_apis::ProgressCallback& progress_callback) = 0;
-};
-
-class DriveUploader : public DriveUploaderInterface {
- public:
- DriveUploader(DriveServiceInterface* drive_service,
- const scoped_refptr<base::TaskRunner>& blocking_task_runner);
- ~DriveUploader() override;
-
- // DriveUploaderInterface overrides.
- void StartBatchProcessing() override;
- void StopBatchProcessing() override;
- google_apis::CancelCallback UploadNewFile(
- const std::string& parent_resource_id,
- const base::FilePath& local_file_path,
- const std::string& title,
- const std::string& content_type,
- const UploadNewFileOptions& options,
- const UploadCompletionCallback& callback,
- const google_apis::ProgressCallback& progress_callback) override;
- google_apis::CancelCallback UploadExistingFile(
- const std::string& resource_id,
- const base::FilePath& local_file_path,
- const std::string& content_type,
- const UploadExistingFileOptions& options,
- const UploadCompletionCallback& callback,
- const google_apis::ProgressCallback& progress_callback) override;
- google_apis::CancelCallback ResumeUploadFile(
- const GURL& upload_location,
- const base::FilePath& local_file_path,
- const std::string& content_type,
- const UploadCompletionCallback& callback,
- const google_apis::ProgressCallback& progress_callback) override;
-
- private:
- class RefCountedBatchRequest;
- struct UploadFileInfo;
- typedef base::Callback<void(scoped_ptr<UploadFileInfo> upload_file_info)>
- StartInitiateUploadCallback;
-
- // Starts uploading a file with |upload_file_info|.
- google_apis::CancelCallback StartUploadFile(
- scoped_ptr<UploadFileInfo> upload_file_info,
- const StartInitiateUploadCallback& start_initiate_upload_callback);
- void StartUploadFileAfterGetFileSize(
- scoped_ptr<UploadFileInfo> upload_file_info,
- const StartInitiateUploadCallback& start_initiate_upload_callback,
- bool get_file_size_result);
-
- // Checks file size and call InitiateUploadNewFile or MultipartUploadNewFile
- // API. Upon completion, OnUploadLocationReceived (for InitiateUploadNewFile)
- // or OnMultipartUploadComplete (for MultipartUploadNewFile) should be called.
- // If |batch_request| is non-null, it calls the API function on the batch
- // request.
- void CallUploadServiceAPINewFile(
- const std::string& parent_resource_id,
- const std::string& title,
- const UploadNewFileOptions& options,
- const scoped_refptr<RefCountedBatchRequest>& batch_request,
- scoped_ptr<UploadFileInfo> upload_file_info);
-
- // Checks file size and call InitiateUploadExistingFile or
- // MultipartUploadExistingFile API. Upon completion, OnUploadLocationReceived
- // (for InitiateUploadExistingFile) or OnMultipartUploadComplete (for
- // MultipartUploadExistingFile) should be called.
- // If |batch_request| is non-null, it calls the API function on the batch
- // request.
- void CallUploadServiceAPIExistingFile(
- const std::string& resource_id,
- const UploadExistingFileOptions& options,
- const scoped_refptr<RefCountedBatchRequest>& batch_request,
- scoped_ptr<UploadFileInfo> upload_file_info);
-
- // DriveService callback for InitiateUpload.
- void OnUploadLocationReceived(scoped_ptr<UploadFileInfo> upload_file_info,
- google_apis::DriveApiErrorCode code,
- const GURL& upload_location);
-
- // Starts to get the current upload status for the file uploading.
- // Upon completion, OnUploadRangeResponseReceived should be called.
- void StartGetUploadStatus(scoped_ptr<UploadFileInfo> upload_file_info);
-
- // Uploads the next chunk of data from the file.
- void UploadNextChunk(scoped_ptr<UploadFileInfo> upload_file_info);
-
- // DriveService callback for ResumeUpload.
- void OnUploadRangeResponseReceived(
- scoped_ptr<UploadFileInfo> upload_file_info,
- const google_apis::UploadRangeResponse& response,
- scoped_ptr<google_apis::FileResource> entry);
- void OnUploadProgress(const google_apis::ProgressCallback& callback,
- int64 start_position,
- int64 total_size,
- int64 progress_of_chunk,
- int64 total_of_chunk);
-
- // Handles failed uploads.
- void UploadFailed(scoped_ptr<UploadFileInfo> upload_file_info,
- google_apis::DriveApiErrorCode error);
-
- // Handles completion/error of multipart uploading.
- void OnMultipartUploadComplete(scoped_ptr<UploadFileInfo> upload_file_info,
- google_apis::DriveApiErrorCode error,
- scoped_ptr<google_apis::FileResource> entry);
-
- // The class is expected to run on UI thread.
- base::ThreadChecker thread_checker_;
-
- // The lifetime of this object should be guaranteed to exceed that of the
- // DriveUploader instance.
- DriveServiceInterface* drive_service_; // Not owned by this class.
-
- scoped_refptr<base::TaskRunner> blocking_task_runner_;
- scoped_refptr<RefCountedBatchRequest> current_batch_request_;
-
- // Note: This should remain the last member so it'll be destroyed and
- // invalidate its weak pointers before any other members are destroyed.
- base::WeakPtrFactory<DriveUploader> weak_ptr_factory_;
- DISALLOW_COPY_AND_ASSIGN(DriveUploader);
-};
-
-} // namespace drive
-
-#endif // CHROME_BROWSER_DRIVE_DRIVE_UPLOADER_H_
« no previous file with comments | « chrome/browser/drive/drive_service_interface.cc ('k') | chrome/browser/drive/drive_uploader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698