summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/bb/command.py5
-rw-r--r--lib/bb/event.py11
-rw-r--r--lib/bb/server/process.py7
3 files changed, 19 insertions, 4 deletions
diff --git a/lib/bb/command.py b/lib/bb/command.py
index 36891b923..eb7c86f4f 100644
--- a/lib/bb/command.py
+++ b/lib/bb/command.py
@@ -238,6 +238,11 @@ class CommandsSync:
return command.cooker.matchFile(fMatch)
matchFile.needconfig = False
+ def getUIHandlerNum(self, command, params):
+ return bb.event.get_uihandler()
+ getUIHandlerNum.needconfig = False
+ getUIHandlerNum.readonly = True
+
def setEventMask(self, command, params):
handlerNum = params[0]
llevel = params[1]
diff --git a/lib/bb/event.py b/lib/bb/event.py
index d5c5ef354..92ee3e92d 100644
--- a/lib/bb/event.py
+++ b/lib/bb/event.py
@@ -288,13 +288,13 @@ def set_eventfilter(func):
_eventfilter = func
def register_UIHhandler(handler, mainui=False):
- if mainui:
- global _uiready
- _uiready = True
bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1
_ui_handlers[_ui_handler_seq] = handler
level, debug_domains = bb.msg.constructLogOptions()
_ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains)
+ if mainui:
+ global _uiready
+ _uiready = _ui_handler_seq
return _ui_handler_seq
def unregister_UIHhandler(handlerNum, mainui=False):
@@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False):
del _ui_handlers[handlerNum]
return
+def get_uihandler():
+ if _uiready is False:
+ return None
+ return _uiready
+
# Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC
class UIEventFilter(object):
def __init__(self, level, debug_domains):
diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py
index a8ba4681c..cfcd76495 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -63,7 +63,12 @@ class ServerCommunicator():
pass
def getEventHandle(self):
- return self.event_handle.value
+ handle, error = self.runCommand(["getUIHandlerNum"])
+ if error:
+ logger.error("Unable to get UI Handler Number: %s" % error)
+ raise BaseException(error)
+
+ return handle
class EventAdapter():
"""