summaryrefslogtreecommitdiff
path: root/python/__init__.py
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-08-31 00:13:54 -0400
committerRusty Wagner <rusty@vector35.com>2016-08-31 00:13:54 -0400
commitb84ab8966522eb5063e6a213ca1e48d32e0fd090 (patch)
treec9041490b7cdb9db193ebac777ee18b518885076 /python/__init__.py
parent5b9887694a608b263f58fecfc3fa747b5f8dddf8 (diff)
Add API to enqueue work on the worker thread(s)
Diffstat (limited to 'python/__init__.py')
-rw-r--r--python/__init__.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/python/__init__.py b/python/__init__.py
index 82aaba32..fa8ff02c 100644
--- a/python/__init__.py
+++ b/python/__init__.py
@@ -9916,7 +9916,7 @@ def redirect_output_to_log():
global _output_to_log
_output_to_log = True
-class _MainThreadActionContext:
+class _ThreadActionContext:
_actions = []
def __init__(self, func):
@@ -9939,16 +9939,24 @@ class _MainThreadActionContext:
self.__class__._actions.remove(self)
def execute_on_main_thread(func):
- action = _MainThreadActionContext(func)
+ action = _ThreadActionContext(func)
obj = core.BNExecuteOnMainThread(0, action.callback)
if obj:
return MainThreadAction(obj)
return None
def execute_on_main_thread_and_wait(func):
- action = _MainThreadActionContext(func)
+ action = _ThreadActionContext(func)
core.BNExecuteOnMainThreadAndWait(0, action.callback)
+def worker_enqueue(func):
+ action = _ThreadActionContext(func)
+ core.BNWorkerEnqueue(0, action.callback)
+
+def worker_priority_enqueue(func):
+ action = _ThreadActionContext(func)
+ core.BNWorkerEnqueue(0, action.callback)
+
bundled_plugin_path = core.BNGetBundledPluginDirectory()
user_plugin_path = core.BNGetUserPluginDirectory()