private_api_dialog.h revision 010d83a9304c5a91596085d917d248abff47903a
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 13#include "chrome/browser/chromeos/extensions/file_manager/private_api_base.h" 14 15namespace ui { 16struct SelectedFileInfo; 17} 18 19namespace extensions { 20 21// Cancel file selection Dialog. Closes the dialog window. 22class FileBrowserPrivateCancelDialogFunction 23 : public LoggedAsyncExtensionFunction { 24 public: 25 DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.cancelDialog", 26 FILEBROWSERPRIVATE_CANCELDIALOG) 27 28 protected: 29 virtual ~FileBrowserPrivateCancelDialogFunction() {} 30 31 // AsyncExtensionFunction overrides. 32 virtual bool RunAsync() OVERRIDE; 33}; 34 35class FileBrowserPrivateSelectFileFunction 36 : public LoggedAsyncExtensionFunction { 37 public: 38 DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.selectFile", 39 FILEBROWSERPRIVATE_SELECTFILE) 40 41 protected: 42 virtual ~FileBrowserPrivateSelectFileFunction() {} 43 44 // AsyncExtensionFunction overrides. 45 virtual bool RunAsync() OVERRIDE; 46 47 private: 48 // A callback method to handle the result of GetSelectedFileInfo. 49 void GetSelectedFileInfoResponse( 50 int index, 51 const std::vector<ui::SelectedFileInfo>& files); 52}; 53 54// Select multiple files. Closes the dialog window. 55class FileBrowserPrivateSelectFilesFunction 56 : public LoggedAsyncExtensionFunction { 57 public: 58 DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.selectFiles", 59 FILEBROWSERPRIVATE_SELECTFILES) 60 61 protected: 62 virtual ~FileBrowserPrivateSelectFilesFunction() {} 63 64 // AsyncExtensionFunction overrides. 65 virtual bool RunAsync() OVERRIDE; 66 67 private: 68 // A callback method to handle the result of GetSelectedFileInfo. 69 void GetSelectedFileInfoResponse( 70 const std::vector<ui::SelectedFileInfo>& files); 71}; 72 73} // namespace extensions 74 75#endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_PRIVATE_API_DIALOG_H_ 76