diff -r 000000000000 -r 6474c204b198 dom/interfaces/settings/nsISettingsService.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/interfaces/settings/nsISettingsService.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,36 @@ +/* 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 "domstubs.idl" + +[scriptable, uuid(aad47850-2e87-11e2-81c1-0800200c9a66)] +interface nsISettingsServiceCallback : nsISupports +{ + void handle(in DOMString aName, in jsval aResult); + void handleError(in DOMString aErrorMessage); +}; + +[scriptable, uuid(f1b3d820-8e75-11e3-baa8-0800200c9a66)] +interface nsISettingsTransactionCompleteCallback : nsISupports +{ + void handle(); + void handleAbort(in DOMString aErrorMessage); +}; + +[scriptable, uuid(d7a395a0-e292-11e1-834e-1761d57f5f99)] +interface nsISettingsServiceLock : nsISupports +{ + void set(in string aName, + in jsval aValue, + in nsISettingsServiceCallback aCallback, + [optional] in string aMessage); + + void get(in string aName, in nsISettingsServiceCallback aCallback); +}; + +[scriptable, uuid(0505acf0-8e76-11e3-baa8-0800200c9a66)] +interface nsISettingsService : nsISupports +{ + nsISettingsServiceLock createLock([optional] in nsISettingsTransactionCompleteCallback aCallback); +};