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: interface nsIArray; michael@0: michael@0: [scriptable, uuid(16d5b0ed-e756-4f1b-a8ce-9132e869acd8)] michael@0: interface nsIGSettingsCollection : nsISupports michael@0: { michael@0: void setString(in AUTF8String key, in AUTF8String value); michael@0: void setBoolean(in AUTF8String key, in boolean value); michael@0: void setInt(in AUTF8String key, in long value); michael@0: AUTF8String getString(in AUTF8String key); michael@0: boolean getBoolean(in AUTF8String key); michael@0: long getInt(in AUTF8String key); michael@0: nsIArray getStringList(in AUTF8String key); michael@0: }; michael@0: michael@0: [scriptable, uuid(849c088b-57d1-4f24-b7b2-3dc4acb04c0a)] michael@0: interface nsIGSettingsService : nsISupports michael@0: { michael@0: nsIGSettingsCollection getCollectionForSchema(in AUTF8String schema); michael@0: }; michael@0: michael@0: %{C++ michael@0: #define NS_GSETTINGSSERVICE_CONTRACTID "@mozilla.org/gsettings-service;1" michael@0: %}