| 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_
|
|
|