michael@0: /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 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: michael@0: /** michael@0: * The nsIPrefLocalizedString interface is simply a wrapper interface for michael@0: * nsISupportsString so the preferences service can have a unique identifier michael@0: * to distinguish between requests for normal wide strings (nsISupportsString) michael@0: * and "localized" wide strings, which get their default values from properites michael@0: * files. michael@0: * michael@0: * @see nsIPrefBranch michael@0: * @see nsISupportsString michael@0: */ michael@0: michael@0: [scriptable, uuid(ae419e24-1dd1-11b2-b39a-d3e5e7073802)] michael@0: interface nsIPrefLocalizedString : nsISupports michael@0: { michael@0: /** michael@0: * Provides access to string data stored in this property. michael@0: * michael@0: * @throws Error An error occurred. michael@0: */ michael@0: attribute wstring data; michael@0: michael@0: /** michael@0: * Used to retrieve the contents of this object into a wide string. michael@0: * michael@0: * @return wstring The string containing the data stored within this object. michael@0: */ michael@0: wstring toString(); michael@0: michael@0: /** michael@0: * Used to set the contents of this object. michael@0: * michael@0: * @param length The length of the string. This value should not include michael@0: * space for the null terminator, nor should it account for the michael@0: * size of a character. It should only be the number of michael@0: * characters for which there is space in the string. michael@0: * @param data The string data to be stored. michael@0: * michael@0: * @note michael@0: * This makes a copy of the string argument passed in. michael@0: */ michael@0: void setDataWithLength(in unsigned long length, michael@0: [size_is(length)] in wstring data); michael@0: }; michael@0: michael@0: %{C++ michael@0: michael@0: #define NS_PREFLOCALIZEDSTRING_CID \ michael@0: { /* {064d9cee-1dd2-11b2-83e3-d25ab0193c26} */ \ michael@0: 0x064d9cee, \ michael@0: 0x1dd2, \ michael@0: 0x11b2, \ michael@0: { 0x83, 0xe3, 0xd2, 0x5a, 0xb0, 0x19, 0x3c, 0x26 } \ michael@0: } michael@0: michael@0: #define NS_PREFLOCALIZEDSTRING_CONTRACTID "@mozilla.org/pref-localizedstring;1" michael@0: michael@0: %}