summaryrefslogtreecommitdiffstats
path: root/services/interfaces/mozIServicesLogSink.idl
diff options
context:
space:
mode:
Diffstat (limited to 'services/interfaces/mozIServicesLogSink.idl')
-rw-r--r--services/interfaces/mozIServicesLogSink.idl26
1 files changed, 26 insertions, 0 deletions
diff --git a/services/interfaces/mozIServicesLogSink.idl b/services/interfaces/mozIServicesLogSink.idl
new file mode 100644
index 0000000000..ea17750552
--- /dev/null
+++ b/services/interfaces/mozIServicesLogSink.idl
@@ -0,0 +1,26 @@
+/* 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"
+
+// Adapts a `Log.sys.mjs` logger so that it can be used from native (Rust) code.
+// The synced bookmarks mirror and bridged engines implement this interface
+// to hook in to the services `LogManager` infrastructure.
+[scriptable, uuid(c92bfe0d-50b7-4a7f-9686-fe5335a696b9)]
+interface mozIServicesLogSink : nsISupports {
+ const short LEVEL_OFF = 0;
+ const short LEVEL_ERROR = 1;
+ const short LEVEL_WARN = 2;
+ const short LEVEL_INFO = 3;
+ const short LEVEL_DEBUG = 4;
+ const short LEVEL_TRACE = 5;
+
+ attribute short maxLevel;
+
+ void error(in AString message);
+ void warn(in AString message);
+ void debug(in AString message);
+ void trace(in AString message);
+ void info(in AString message);
+};