OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_FILE_TASK_EXECUTOR_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_FILE_TASK_EXECUTOR_H_ |
6 #define CHROME_BROWSER_CHROMEOS_DRIVE_FILE_TASK_EXECUTOR_H_ | 6 #define CHROME_BROWSER_CHROMEOS_DRIVE_FILE_TASK_EXECUTOR_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 24 matching lines...) Expand all Loading... |
35 // needs to find the file resource IDs and pass them to a server-side function | 35 // needs to find the file resource IDs and pass them to a server-side function |
36 // that will authorize the app to open the given document and return a URL | 36 // that will authorize the app to open the given document and return a URL |
37 // for opening the document in that app directly. | 37 // for opening the document in that app directly. |
38 class FileTaskExecutor { | 38 class FileTaskExecutor { |
39 public: | 39 public: |
40 // Creates FileTaskExecutor with delegate derived from |profile|. Used in | 40 // Creates FileTaskExecutor with delegate derived from |profile|. Used in |
41 // product environment. | 41 // product environment. |
42 FileTaskExecutor(Profile* profile, const std::string& app_id); | 42 FileTaskExecutor(Profile* profile, const std::string& app_id); |
43 | 43 |
44 // Creates FileTaskExecutor with a specific delegate. | 44 // Creates FileTaskExecutor with a specific delegate. |
45 FileTaskExecutor(scoped_ptr<FileTaskExecutorDelegate> delegate, | 45 FileTaskExecutor(std::unique_ptr<FileTaskExecutorDelegate> delegate, |
46 const std::string& app_id); | 46 const std::string& app_id); |
47 | 47 |
48 // Executes file tasks, runs |done| and deletes |this|. | 48 // Executes file tasks, runs |done| and deletes |this|. |
49 void Execute(const std::vector<storage::FileSystemURL>& file_urls, | 49 void Execute(const std::vector<storage::FileSystemURL>& file_urls, |
50 const file_manager::file_tasks::FileTaskFinishedCallback& done); | 50 const file_manager::file_tasks::FileTaskFinishedCallback& done); |
51 | 51 |
52 private: | 52 private: |
53 ~FileTaskExecutor(); | 53 ~FileTaskExecutor(); |
54 | 54 |
55 void OnFileEntryFetched(FileError error, scoped_ptr<ResourceEntry> entry); | 55 void OnFileEntryFetched(FileError error, |
| 56 std::unique_ptr<ResourceEntry> entry); |
56 void OnAppAuthorized(const std::string& resource_id, | 57 void OnAppAuthorized(const std::string& resource_id, |
57 google_apis::DriveApiErrorCode error, | 58 google_apis::DriveApiErrorCode error, |
58 const GURL& open_link); | 59 const GURL& open_link); |
59 | 60 |
60 // Calls |done_| with |success| status and deletes |this|. | 61 // Calls |done_| with |success| status and deletes |this|. |
61 void Done(bool success); | 62 void Done(bool success); |
62 | 63 |
63 scoped_ptr<FileTaskExecutorDelegate> delegate_; | 64 std::unique_ptr<FileTaskExecutorDelegate> delegate_; |
64 std::string app_id_; | 65 std::string app_id_; |
65 int current_index_; | 66 int current_index_; |
66 file_manager::file_tasks::FileTaskFinishedCallback done_; | 67 file_manager::file_tasks::FileTaskFinishedCallback done_; |
67 | 68 |
68 base::WeakPtrFactory<FileTaskExecutor> weak_ptr_factory_; | 69 base::WeakPtrFactory<FileTaskExecutor> weak_ptr_factory_; |
69 }; | 70 }; |
70 | 71 |
71 } // namespace drive | 72 } // namespace drive |
72 | 73 |
73 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_FILE_TASK_EXECUTOR_H_ | 74 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_FILE_TASK_EXECUTOR_H_ |
OLD | NEW |