summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/settings
diff options
context:
space:
mode:
Diffstat (limited to 'dom/interfaces/settings')
-rw-r--r--dom/interfaces/settings/moz.build12
-rw-r--r--dom/interfaces/settings/nsISettingsService.idl37
2 files changed, 49 insertions, 0 deletions
diff --git a/dom/interfaces/settings/moz.build b/dom/interfaces/settings/moz.build
new file mode 100644
index 000000000..5360df1c3
--- /dev/null
+++ b/dom/interfaces/settings/moz.build
@@ -0,0 +1,12 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+XPIDL_SOURCES += [
+ 'nsISettingsService.idl',
+]
+
+XPIDL_MODULE = 'dom_settings'
+
diff --git a/dom/interfaces/settings/nsISettingsService.idl b/dom/interfaces/settings/nsISettingsService.idl
new file mode 100644
index 000000000..b74da447f
--- /dev/null
+++ b/dom/interfaces/settings/nsISettingsService.idl
@@ -0,0 +1,37 @@
+/* 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);
+};