drive_uploader_wrapper.h revision 5c02ac1a9c1b504631c0a3d2b6e737b5d738bae1
1// Copyright 2014 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_SYNC_FILE_SYSTEM_DRIVE_BACKEND_DRIVE_UPLOADER_WRAPPER_H_ 6#define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_DRIVE_UPLOADER_WRAPPER_H_ 7 8#include "base/memory/weak_ptr.h" 9#include "chrome/browser/drive/drive_uploader.h" 10 11namespace sync_file_system { 12namespace drive_backend { 13 14// This class wraps a part of DriveUploaderInterface class to support weak 15// pointer. Each method wraps corresponding name method of 16// DriveUploaderInterface. See comments in drive_uploader_interface.h 17// for details. 18class DriveUploaderWrapper 19 : public base::SupportsWeakPtr<DriveUploaderWrapper> { 20 public: 21 explicit DriveUploaderWrapper(drive::DriveUploaderInterface* drive_uploader); 22 23 void UploadExistingFile( 24 const std::string& resource_id, 25 const base::FilePath& local_file_path, 26 const std::string& content_type, 27 const drive::DriveUploaderInterface::UploadExistingFileOptions& options, 28 const drive::UploadCompletionCallback& callback); 29 30 void UploadNewFile( 31 const std::string& parent_resource_id, 32 const base::FilePath& local_file_path, 33 const std::string& title, 34 const std::string& content_type, 35 const drive::DriveUploaderInterface::UploadNewFileOptions& options, 36 const drive::UploadCompletionCallback& callback); 37 38 private: 39 drive::DriveUploaderInterface* drive_uploader_; 40 41 DISALLOW_COPY_AND_ASSIGN(DriveUploaderWrapper); 42}; 43 44} // namespace drive_backend 45} // namespace sync_file_system 46 47#endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_DRIVE_UPLOADER_WRAPPER_H_ 48