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