| OLD | NEW | 
|   1 // Copyright 2015 The Chromium Authors. All rights reserved. |   1 // Copyright 2015 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_FILE_SYSTEM_PROVIDER_OPERATIONS_CONFIGURE_H_ |   5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_CONFIGURE_H_ | 
|   6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_CONFIGURE_H_ |   6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_CONFIGURE_H_ | 
|   7  |   7  | 
|   8 #include "base/files/file.h" |   8 #include "base/files/file.h" | 
|   9 #include "base/memory/scoped_ptr.h" |   9 #include "base/memory/scoped_ptr.h" | 
|  10 #include "chrome/browser/chromeos/file_system_provider/operations/operation.h" |  10 #include "chrome/browser/chromeos/file_system_provider/operations/operation.h" | 
|  11 #include "storage/browser/fileapi/async_file_util.h" |  11 #include "storage/browser/fileapi/async_file_util.h" | 
|  12  |  12  | 
|  13 namespace base { |  13 namespace base { | 
|  14 class DictionaryValue; |  14 class DictionaryValue; | 
|  15 }  // namespace base |  15 }  // namespace base | 
|  16  |  16  | 
|  17 namespace extensions { |  | 
|  18 class EventRouter; |  | 
|  19 }  // namespace extensions |  | 
|  20  |  17  | 
|  21 namespace chromeos { |  18 namespace chromeos { | 
|  22 namespace file_system_provider { |  19 namespace file_system_provider { | 
|  23  |  20  | 
|  24 class ProvidedFileSystemInfo; |  21 class ProvidedFileSystemInfo; | 
|  25  |  22  | 
|  26 namespace operations { |  23 namespace operations { | 
|  27  |  24  | 
|  28 // Bridge between fileManagerPrivate's configure operation and providing |  25 // Bridge between fileManagerPrivate's configure operation and providing | 
|  29 // extension's configure request. Created per request. |  26 // extension's configure request. Created per request. | 
|  30 class Configure : public Operation { |  27 template <int source> | 
 |  28 class Configure : public Operation<source> { | 
|  31  public: |  29  public: | 
|  32   Configure(extensions::EventRouter* event_router, |  30   Configure(typename Operation<source>::EventRouterType* event_router, | 
|  33             const ProvidedFileSystemInfo& file_system_info, |  31             const ProvidedFileSystemInfo& file_system_info, | 
|  34             const storage::AsyncFileUtil::StatusCallback& callback); |  32             const storage::AsyncFileUtil::StatusCallback& callback); | 
|  35   ~Configure() override; |  33   ~Configure() override; | 
|  36  |  34  | 
|  37   // Operation overrides. |  35   // Operation overrides. | 
|  38   bool Execute(int request_id) override; |  36   bool Execute(int request_id) override; | 
|  39   void OnSuccess(int request_id, |  37   void OnSuccess(int request_id, | 
|  40                  scoped_ptr<RequestValue> result, |  38                  scoped_ptr<RequestValue> result, | 
|  41                  bool has_more) override; |  39                  bool has_more) override; | 
|  42   void OnError(int request_id, |  40   void OnError(int request_id, | 
|  43                scoped_ptr<RequestValue> result, |  41                scoped_ptr<RequestValue> result, | 
|  44                base::File::Error error) override; |  42                base::File::Error error) override; | 
|  45  |  43  | 
|  46  private: |  44  private: | 
|  47   const storage::AsyncFileUtil::StatusCallback callback_; |  45   const storage::AsyncFileUtil::StatusCallback callback_; | 
|  48  |  46  | 
|  49   DISALLOW_COPY_AND_ASSIGN(Configure); |  47   DISALLOW_COPY_AND_ASSIGN(Configure<source>); | 
|  50 }; |  48 }; | 
|  51  |  49  | 
|  52 }  // namespace operations |  50 }  // namespace operations | 
|  53 }  // namespace file_system_provider |  51 }  // namespace file_system_provider | 
|  54 }  // namespace chromeos |  52 }  // namespace chromeos | 
|  55  |  53  | 
|  56 #endif  // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_CONFIGURE_H_ |  54 #endif  // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_CONFIGURE_H_ | 
| OLD | NEW |