- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / extensions / file_manager / private_api_dialog.h
1 // Copyright 2013 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 // This file provides API functions for the file manager to act as the file
6 // dialog for opening and saving files.
7
8 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_PRIVATE_API_DIALOG_H_
9 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_PRIVATE_API_DIALOG_H_
10
11 #include <vector>
12 #include "chrome/browser/chromeos/extensions/file_manager/private_api_base.h"
13
14 namespace ui {
15 struct SelectedFileInfo;
16 }
17
18 namespace extensions {
19
20 // Cancel file selection Dialog.  Closes the dialog window.
21 class FileBrowserPrivateCancelDialogFunction
22     : public LoggedAsyncExtensionFunction {
23  public:
24   DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.cancelDialog",
25                              FILEBROWSERPRIVATE_CANCELDIALOG)
26
27  protected:
28   virtual ~FileBrowserPrivateCancelDialogFunction() {}
29
30   // AsyncExtensionFunction overrides.
31   virtual bool RunImpl() OVERRIDE;
32 };
33
34 class FileBrowserPrivateSelectFileFunction
35     : public LoggedAsyncExtensionFunction {
36  public:
37   DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.selectFile",
38                              FILEBROWSERPRIVATE_SELECTFILE)
39
40  protected:
41   virtual ~FileBrowserPrivateSelectFileFunction() {}
42
43   // AsyncExtensionFunction overrides.
44   virtual bool RunImpl() OVERRIDE;
45
46  private:
47   // A callback method to handle the result of GetSelectedFileInfo.
48   void GetSelectedFileInfoResponse(
49       int index,
50       const std::vector<ui::SelectedFileInfo>& files);
51 };
52
53 // Select multiple files.  Closes the dialog window.
54 class FileBrowserPrivateSelectFilesFunction
55     : public LoggedAsyncExtensionFunction {
56  public:
57   DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.selectFiles",
58                              FILEBROWSERPRIVATE_SELECTFILES)
59
60  protected:
61   virtual ~FileBrowserPrivateSelectFilesFunction() {}
62
63   // AsyncExtensionFunction overrides.
64   virtual bool RunImpl() OVERRIDE;
65
66  private:
67   // A callback method to handle the result of GetSelectedFileInfo.
68   void GetSelectedFileInfoResponse(
69       const std::vector<ui::SelectedFileInfo>& files);
70 };
71
72 }  // namespace extensions
73
74 #endif  // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_PRIVATE_API_DIALOG_H_