summaryrefslogtreecommitdiffstats
path: root/xpcom/threads/nsIRunnable.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--xpcom/threads/nsIRunnable.idl39
1 files changed, 39 insertions, 0 deletions
diff --git a/xpcom/threads/nsIRunnable.idl b/xpcom/threads/nsIRunnable.idl
new file mode 100644
index 0000000000..f7c7f4ffe6
--- /dev/null
+++ b/xpcom/threads/nsIRunnable.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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"
+
+/**
+ * Represents a task which can be dispatched to a thread for execution.
+ */
+
+[scriptable, function, uuid(4a2abaf0-6886-11d3-9382-00104ba0fd40)]
+interface nsIRunnable : nsISupports
+{
+ /**
+ * The function implementing the task to be run.
+ */
+ void run();
+};
+
+[scriptable, uuid(e75aa42a-80a9-11e6-afb5-e89d87348e2c)]
+interface nsIRunnablePriority : nsISupports
+{
+ const unsigned short PRIORITY_IDLE = 0;
+ const unsigned short PRIORITY_DEFERRED_TIMERS = 1;
+ // INPUT_LOW isn't supposed to be used directly.
+ // const unsigned short PRIORITY_INPUT_LOW = 2;
+ const unsigned short PRIORITY_NORMAL = 3;
+ const unsigned short PRIORITY_MEDIUMHIGH = 4;
+ const unsigned short PRIORITY_INPUT_HIGH = 5;
+ const unsigned short PRIORITY_HIGH = 6;
+ readonly attribute unsigned long priority;
+};
+
+[builtinclass, uuid(3114c36c-a482-4c6e-9523-1dcfc6f605b9)]
+interface nsIRunnableIPCMessageType : nsISupports
+{
+ readonly attribute unsigned long type;
+};