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 file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "domstubs.idl" michael@0: michael@0: [scriptable, uuid(aad47850-2e87-11e2-81c1-0800200c9a66)] michael@0: interface nsISettingsServiceCallback : nsISupports michael@0: { michael@0: void handle(in DOMString aName, in jsval aResult); michael@0: void handleError(in DOMString aErrorMessage); michael@0: }; michael@0: michael@0: [scriptable, uuid(f1b3d820-8e75-11e3-baa8-0800200c9a66)] michael@0: interface nsISettingsTransactionCompleteCallback : nsISupports michael@0: { michael@0: void handle(); michael@0: void handleAbort(in DOMString aErrorMessage); michael@0: }; michael@0: michael@0: [scriptable, uuid(d7a395a0-e292-11e1-834e-1761d57f5f99)] michael@0: interface nsISettingsServiceLock : nsISupports michael@0: { michael@0: void set(in string aName, michael@0: in jsval aValue, michael@0: in nsISettingsServiceCallback aCallback, michael@0: [optional] in string aMessage); michael@0: michael@0: void get(in string aName, in nsISettingsServiceCallback aCallback); michael@0: }; michael@0: michael@0: [scriptable, uuid(0505acf0-8e76-11e3-baa8-0800200c9a66)] michael@0: interface nsISettingsService : nsISupports michael@0: { michael@0: nsISettingsServiceLock createLock([optional] in nsISettingsTransactionCompleteCallback aCallback); michael@0: };