Check USB device path access when prompting users to select a device.
[chromium-blink-merge.git] / chrome / browser / sync_file_system / drive_backend / fake_drive_uploader.h
blobfa6bb8df8e15bfe8df83afdff449fa015756d112
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.
5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_DRIVE_UPLOADER_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_DRIVE_UPLOADER_H_
8 #include <string>
10 #include "base/files/file_util.h"
11 #include "base/strings/stringprintf.h"
12 #include "base/values.h"
13 #include "chrome/browser/drive/drive_uploader.h"
14 #include "chrome/browser/drive/fake_drive_service.h"
15 #include "chrome/browser/sync_file_system/drive_backend/fake_drive_service_helper.h"
16 #include "google_apis/drive/drive_api_error_codes.h"
17 #include "google_apis/drive/test_util.h"
18 #include "net/base/escape.h"
20 namespace sync_file_system {
21 namespace drive_backend {
23 class FakeDriveServiceWrapper : public drive::FakeDriveService {
24 public:
25 FakeDriveServiceWrapper();
26 ~FakeDriveServiceWrapper() override;
28 // DriveServiceInterface overrides.
29 google_apis::CancelCallback AddNewDirectory(
30 const std::string& parent_resource_id,
31 const std::string& directory_name,
32 const drive::AddNewDirectoryOptions& options,
33 const google_apis::FileResourceCallback& callback) override;
35 void set_make_directory_conflict(bool enable) {
36 make_directory_conflict_ = enable;
39 private:
40 bool make_directory_conflict_;
42 DISALLOW_COPY_AND_ASSIGN(FakeDriveServiceWrapper);
45 // A fake implementation of DriveUploaderInterface, which provides fake
46 // behaviors for file uploading.
47 class FakeDriveUploader : public drive::DriveUploaderInterface {
48 public:
49 explicit FakeDriveUploader(FakeDriveServiceWrapper* fake_drive_service);
50 ~FakeDriveUploader() override;
52 // DriveUploaderInterface overrides.
53 google_apis::CancelCallback UploadNewFile(
54 const std::string& parent_resource_id,
55 const base::FilePath& local_file_path,
56 const std::string& title,
57 const std::string& content_type,
58 const drive::UploadNewFileOptions& options,
59 const drive::UploadCompletionCallback& callback,
60 const google_apis::ProgressCallback& progress_callback) override;
61 google_apis::CancelCallback UploadExistingFile(
62 const std::string& resource_id,
63 const base::FilePath& local_file_path,
64 const std::string& content_type,
65 const drive::UploadExistingFileOptions& options,
66 const drive::UploadCompletionCallback& callback,
67 const google_apis::ProgressCallback& progress_callback) override;
68 google_apis::CancelCallback ResumeUploadFile(
69 const GURL& upload_location,
70 const base::FilePath& local_file_path,
71 const std::string& content_type,
72 const drive::UploadCompletionCallback& callback,
73 const google_apis::ProgressCallback& progress_callback) override;
75 void set_make_file_conflict(bool enable) {
76 make_file_conflict_ = enable;
79 private:
80 FakeDriveServiceWrapper* fake_drive_service_;
81 bool make_file_conflict_;
83 DISALLOW_COPY_AND_ASSIGN(FakeDriveUploader);
86 } // namespace drive_backend
87 } // namespace sync_file_system
89 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_FAKE_DRIVE_UPLOADER_H_