/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set sw=2 ts=8 et ft=ipdl : */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ include WinFileDialogCommandsDefn; using mozilla::WindowsHandle from "mozilla/ipc/IPCTypes.h"; using mozilla::widget::filedialog::FileDialogType from "mozilla/widget/filedialog/WinFileDialogCommands.h"; namespace mozilla { namespace widget { namespace filedialog { [ChildProc=Utility] protocol PWinFileDialog { child: // Exactly one Show function should be called per instance. Further calls will // result in IPC failure. // // Each will return `Nothing` iff the operation was canceled by the user. async ShowFileDialog(WindowsHandle parentHwnd, FileDialogType type, Command[] commands) returns (Results? results); async ShowFolderDialog(WindowsHandle parentHwnd, Command[] commands) returns (nsString? path); }; } // namespace filedialog } // namespace widget } // namespace mozilla