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(5009acae-6973-48c3-b6d6-52c692cc5d9d)] michael@0: interface nsIGConfService : nsISupports michael@0: { michael@0: /* Basic registry access */ michael@0: boolean getBool(in AUTF8String key); michael@0: AUTF8String getString(in AUTF8String key); michael@0: long getInt(in AUTF8String key); michael@0: float getFloat(in AUTF8String key); michael@0: michael@0: /* michael@0: * Use this to return any list items in GConf, this will return michael@0: * an array of UTF16 nsISupportsString's. michael@0: */ michael@0: nsIArray getStringList(in AUTF8String key); michael@0: michael@0: void setBool(in AUTF8String key, in boolean value); michael@0: void setString(in AUTF8String key, in AUTF8String value); michael@0: void setInt(in AUTF8String key, in long value); michael@0: void setFloat(in AUTF8String key, in float value); michael@0: michael@0: /* michael@0: * Look up the handler for a protocol under the michael@0: * /desktop/gnome/url-handlers hierarchy. michael@0: */ michael@0: AUTF8String getAppForProtocol(in AUTF8String scheme, out boolean enabled); michael@0: michael@0: /* michael@0: * Check whether the handler for a scheme requires a terminal to run. michael@0: */ michael@0: boolean handlerRequiresTerminal(in AUTF8String scheme); michael@0: michael@0: /* michael@0: * Set the handler for a protocol, marking it as enabled. michael@0: * This removes any GnomeVFSMimeApp association for the protocol. michael@0: */ michael@0: void setAppForProtocol(in AUTF8String scheme, in AUTF8String command); michael@0: }; michael@0: michael@0: %{C++ michael@0: #define NS_GCONFSERVICE_CONTRACTID "@mozilla.org/gnome-gconf-service;1" michael@0: %}