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_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_UNMOUNT_H_
6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_UNMOUNT_H_
8 #include "base/files/file.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "chrome/browser/chromeos/file_system_provider/operations/operation.h"
11 #include "webkit/browser/fileapi/async_file_util.h"
14 class DictionaryValue;
17 namespace extensions {
19 } // namespace extensions
22 namespace file_system_provider {
24 class ProvidedFileSystemInfo;
26 namespace operations {
28 // Bridge between fileBrowserPrivate's unmount operation and providing
29 // extension's unmount request. Created per request.
30 class Unmount : public Operation {
32 Unmount(extensions::EventRouter* event_router,
33 const ProvidedFileSystemInfo& file_system_info,
34 const fileapi::AsyncFileUtil::StatusCallback& callback);
37 // Operation overrides.
38 virtual bool Execute(int request_id) OVERRIDE;
39 virtual void OnSuccess(int request_id,
40 scoped_ptr<RequestValue> result,
41 bool has_next) OVERRIDE;
42 virtual void OnError(int request_id, base::File::Error error) OVERRIDE;
45 const fileapi::AsyncFileUtil::StatusCallback callback_;
47 DISALLOW_COPY_AND_ASSIGN(Unmount);
50 } // namespace operations
51 } // namespace file_system_provider
52 } // namespace chromeos
54 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_OPERATIONS_UNMOUNT_H_