summaryrefslogtreecommitdiff
path: root/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hobeventhandler.py')
-rw-r--r--bitbake/lib/bb/ui/crumbs/hobeventhandler.py137
1 files changed, 0 insertions, 137 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
deleted file mode 100644
index 84f304352..000000000
--- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
+++ /dev/null
@@ -1,137 +0,0 @@
-#
-# BitBake Graphical GTK User Interface
-#
-# Copyright (C) 2011 Intel Corporation
-#
-# Authored by Joshua Lock <josh@linux.intel.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-import gobject
-from bb.ui.crumbs.progress import ProgressBar
-
-progress_total = 0
-
-class HobHandler(gobject.GObject):
-
- """
- This object does BitBake event handling for the hob gui.
- """
- __gsignals__ = {
- "machines-updated" : (gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_PYOBJECT,)),
- "distros-updated" : (gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- (gobject.TYPE_PYOBJECT,)),
- "generating-data" : (gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- ()),
- "data-generated" : (gobject.SIGNAL_RUN_LAST,
- gobject.TYPE_NONE,
- ())
- }
-
- def __init__(self, taskmodel, server):
- gobject.GObject.__init__(self)
-
- self.model = taskmodel
- self.server = server
- self.current_command = None
- self.building = False
-
- self.command_map = {
- "findConfigFilesDistro" : ("findConfigFiles", "MACHINE", "findConfigFilesMachine"),
- "findConfigFilesMachine" : ("generateTargetsTree", "classes/image.bbclass", None),
- "generateTargetsTree" : (None, None, None),
- }
-
- def run_next_command(self):
- # FIXME: this is ugly and I *will* replace it
- if self.current_command:
- next_cmd = self.command_map[self.current_command]
- command = next_cmd[0]
- argument = next_cmd[1]
- self.current_command = next_cmd[2]
- if command == "generateTargetsTree":
- self.emit("generating-data")
- self.server.runCommand([command, argument])
-
- def handle_event(self, event, running_build, pbar=None):
- if not event:
- return
-
- # If we're running a build, use the RunningBuild event handler
- if self.building:
- running_build.handle_event(event)
- elif isinstance(event, bb.event.TargetsTreeGenerated):
- self.emit("data-generated")
- if event._model:
- self.model.populate(event._model)
-
- elif isinstance(event, bb.event.ConfigFilesFound):
- var = event._variable
- if var == "distro":
- distros = event._values
- distros.sort()
- self.emit("distros-updated", distros)
- elif var == "machine":
- machines = event._values
- machines.sort()
- self.emit("machines-updated", machines)
-
- elif isinstance(event, bb.command.CommandCompleted):
- self.run_next_command()
- elif isinstance(event, bb.event.CacheLoadStarted) and pbar:
- pbar.set_title("Loading cache")
- bb.ui.crumbs.hobeventhandler.progress_total = event.total
- pbar.update(0, bb.ui.crumbs.hobeventhandler.progress_total)
- elif isinstance(event, bb.event.CacheLoadProgress) and pbar:
- pbar.update(event.current, bb.ui.crumbs.hobeventhandler.progress_total)
- elif isinstance(event, bb.event.CacheLoadCompleted) and pbar:
- pbar.update(bb.ui.crumbs.hobeventhandler.progress_total, bb.ui.crumbs.hobeventhandler.progress_total)
- elif isinstance(event, bb.event.ParseStarted) and pbar:
- pbar.set_title("Processing recipes")
- bb.ui.crumbs.hobeventhandler.progress_total = event.total
- pbar.update(0, bb.ui.crumbs.hobeventhandler.progress_total)
- elif isinstance(event, bb.event.ParseProgress) and pbar:
- pbar.update(event.current, bb.ui.crumbs.hobeventhandler.progress_total)
- elif isinstance(event, bb.event.ParseCompleted) and pbar:
- pbar.hide()
-
- return
-
- def event_handle_idle_func (self, eventHandler, running_build, pbar):
- # Consume as many messages as we can in the time available to us
- event = eventHandler.getEvent()
- while event:
- self.handle_event(event, running_build, pbar)
- event = eventHandler.getEvent()
- return True
-
- def set_machine(self, machine):
- self.server.runCommand(["setVariable", "MACHINE", machine])
- self.current_command = "findConfigFilesMachine"
- self.run_next_command()
-
- def set_distro(self, distro):
- self.server.runCommand(["setVariable", "DISTRO", distro])
-
- def run_build(self, targets):
- self.building = True
- self.server.runCommand(["buildTargets", targets, "build"])
-
- def cancel_build(self):
- # Note: this may not be the right way to stop an in-progress build
- self.server.runCommand(["stateStop"])