Index: ui/base/win/open_file_name_win.h |
diff --git a/ui/base/win/open_file_name_win.h b/ui/base/win/open_file_name_win.h |
index 4787c83b52514454a3a2000cb232b33ee0b07a12..79a71854ff5cd54f033a1a39a9431e397074c2f6 100644 |
--- a/ui/base/win/open_file_name_win.h |
+++ b/ui/base/win/open_file_name_win.h |
@@ -32,6 +32,10 @@ class UI_BASE_EXPORT OpenFileName { |
OpenFileName(HWND parent_window, DWORD flags); |
~OpenFileName(); |
+ // Initializes |lpstrFilter| from the label/pattern pairs in |filters|. |
+ void SetFilters( |
+ const std::vector<Tuple2<base::string16, base::string16> >& filters); |
+ |
// Sets |lpstrInitialDir| and |lpstrFile|. |
void SetInitialSelection(const base::FilePath& initial_directory, |
const base::FilePath& initial_filename); |
@@ -47,10 +51,25 @@ class UI_BASE_EXPORT OpenFileName { |
// Returns the OPENFILENAME structure. |
OPENFILENAME* GetOPENFILENAME() { return &openfilename_; } |
+ // Returns the OPENFILENAME structure. |
+ const OPENFILENAME* GetOPENFILENAME() const { return &openfilename_; } |
+ |
+ // Stores directory and filenames in the buffer pointed to by |
+ // |openfilename->lpstrFile| and sized |openfilename->nMaxFile|. |
+ static void SetResult(const base::FilePath& directory, |
+ const std::vector<base::FilePath>& filenames, |
+ OPENFILENAME* openfilename); |
+ |
+ // Returns a vector of label/pattern pairs built from |
+ // |openfilename->lpstrFilter|. |
+ static std::vector<Tuple2<base::string16, base::string16> > GetFilters( |
+ const OPENFILENAME* openfilename); |
+ |
private: |
OPENFILENAME openfilename_; |
base::string16 initial_directory_buffer_; |
wchar_t filename_buffer_[UNICODE_STRING_MAX_CHARS]; |
+ base::string16 filter_buffer_; |
DISALLOW_COPY_AND_ASSIGN(OpenFileName); |
}; |