michael@0: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 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 "nsISupports.idl" michael@0: interface nsIMutableArray; michael@0: michael@0: /** michael@0: * An interface to pass strings, integers and nsISupports to a dialog michael@0: */ michael@0: michael@0: [scriptable, uuid(f76c0901-437a-11d3-b7a0-e35db351b4bc)] michael@0: interface nsIDialogParamBlock: nsISupports { michael@0: michael@0: /** Get or set an integer to pass. michael@0: * Index must be in the range 0..7 michael@0: */ michael@0: int32_t GetInt( in int32_t inIndex ); michael@0: void SetInt( in int32_t inIndex, in int32_t inInt ); michael@0: michael@0: /** Set the maximum number of strings to pass. Default is 16. michael@0: * Use before setting any string (If you want to change it from the default). michael@0: */ michael@0: void SetNumberStrings( in int32_t inNumStrings ); michael@0: michael@0: /** Get or set an string to pass. michael@0: * Index starts at 0 michael@0: */ michael@0: wstring GetString( in int32_t inIndex ); michael@0: void SetString( in int32_t inIndex, in wstring inString); michael@0: michael@0: /** michael@0: * A place where you can store an nsIMutableArray to pass nsISupports michael@0: */ michael@0: attribute nsIMutableArray objects; michael@0: }; michael@0: michael@0: %{C++ michael@0: #define NS_DIALOGPARAMBLOCK_CONTRACTID "@mozilla.org/embedcomp/dialogparam;1" michael@0: %} michael@0: