/* 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(d1ed155c-9f90-47bb-91c2-7eac54d69f4b)] interface nsISettingsService : nsISupports { nsISettingsServiceLock createLock([optional] in nsISettingsTransactionCompleteCallback aCallback); void receiveMessage(in jsval aMessage); };