michael@0: /* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */ michael@0: /* vim: set sw=4 ts=8 et tw=80 ft=cpp : */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: include protocol PBlob; michael@0: include protocol PBrowser; michael@0: michael@0: using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; michael@0: michael@0: namespace mozilla { michael@0: namespace dom { michael@0: michael@0: struct InputFiles michael@0: { michael@0: PBlob[] files; michael@0: }; michael@0: michael@0: union MaybeInputFiles michael@0: { michael@0: InputFiles; michael@0: void_t; michael@0: }; michael@0: michael@0: protocol PFilePicker michael@0: { michael@0: manager PBrowser; michael@0: michael@0: parent: michael@0: Open(int16_t selectedType, bool addToRecentDocs, nsString defaultFile, michael@0: nsString defaultExtension, nsString[] filters, nsString[] filterNames); michael@0: michael@0: child: michael@0: __delete__(MaybeInputFiles files, int16_t result); michael@0: }; michael@0: michael@0: } // namespace dom michael@0: } // namespace mozilla