#ifndef UI_SHELL_DIALOGS_EXECUTE_SELECT_FILE_WIN_H_
#define UI_SHELL_DIALOGS_EXECUTE_SELECT_FILE_WIN_H_
#include <string>
#include <utility>
#include <vector>
#include "base/functional/callback_forward.h"
#include "base/win/windows_types.h"
#include "ui/shell_dialogs/select_file_dialog.h"
#include "ui/shell_dialogs/shell_dialogs_export.h"
namespace base {
class FilePath;
}
namespace ui {
struct FileFilterSpec {
std::u16string description;
std::u16string extension_spec;
};
using OnSelectFileExecutedCallback =
base::OnceCallback<void(const std::vector<base::FilePath>&, int)>;
SHELL_DIALOGS_EXPORT
void ExecuteSelectFile(
SelectFileDialog::Type type,
const std::u16string& title,
const base::FilePath& default_path,
const std::vector<FileFilterSpec>& filter,
int file_type_index,
const std::wstring& default_extension,
HWND owner,
OnSelectFileExecutedCallback on_select_file_executed_callback);
}
#endif