diff options
Diffstat (limited to 'xpcom/system/nsIGConfService.idl')
-rw-r--r-- | xpcom/system/nsIGConfService.idl | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/xpcom/system/nsIGConfService.idl b/xpcom/system/nsIGConfService.idl new file mode 100644 index 000000000..ccc02610f --- /dev/null +++ b/xpcom/system/nsIGConfService.idl @@ -0,0 +1,50 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +interface nsIArray; + +[scriptable, uuid(5009acae-6973-48c3-b6d6-52c692cc5d9d)] +interface nsIGConfService : nsISupports +{ + /* Basic registry access */ + boolean getBool(in AUTF8String key); + AUTF8String getString(in AUTF8String key); + long getInt(in AUTF8String key); + float getFloat(in AUTF8String key); + + /* + * Use this to return any list items in GConf, this will return + * an array of UTF16 nsISupportsString's. + */ + nsIArray getStringList(in AUTF8String key); + + void setBool(in AUTF8String key, in boolean value); + void setString(in AUTF8String key, in AUTF8String value); + void setInt(in AUTF8String key, in long value); + void setFloat(in AUTF8String key, in float value); + + /* + * Look up the handler for a protocol under the + * /desktop/gnome/url-handlers hierarchy. + */ + AUTF8String getAppForProtocol(in AUTF8String scheme, out boolean enabled); + + /* + * Check whether the handler for a scheme requires a terminal to run. + */ + boolean handlerRequiresTerminal(in AUTF8String scheme); + + /* + * Set the handler for a protocol, marking it as enabled. + * This removes any GnomeVFSMimeApp association for the protocol. + */ + void setAppForProtocol(in AUTF8String scheme, in AUTF8String command); +}; + +%{C++ +#define NS_GCONFSERVICE_CONTRACTID "@mozilla.org/gnome-gconf-service;1" +%} |