push starting of the GUI thread down into the gui plugin

This commit is contained in:
Fischlurch 2009-01-14 12:28:24 +01:00
parent e8469d5552
commit 9cfa0e5522
2 changed files with 12 additions and 5 deletions

View file

@ -27,7 +27,6 @@
#include "lib/error.hpp"
#include "lib/singleton.hpp"
#include "lib/functorutil.hpp"
#include "lib/thread-wrapper.hpp"
#include "common/instancehandle.hpp"
#include <boost/scoped_ptr.hpp>
@ -46,7 +45,6 @@ namespace gui {
using util::dispatchSequenced;
using lib::Sync;
using lib::RecursiveLock_NoWait;
using lib::Thread;
@ -62,7 +60,7 @@ namespace gui {
: theGUI_("lumieraorg_Gui", 1, 1, "lumieraorg_GuiStarterPlugin") // load GuiStarterPlugin
{
ASSERT (theGUI_);
Thread ("GUI-Main", bind (&GuiRunner::kickOff, this, terminationHandle));
this->kickOff (terminationHandle);
if (lumiera_error_peek())
throw lumiera::error::Fatal("failed to bring up GUI",lumiera_error());

View file

@ -53,6 +53,7 @@
#include "gui/guifacade.hpp"
#include "gui/notification-service.hpp"
#include "common/subsys.hpp"
#include "lib/thread-wrapper.hpp"
#include "lib/singleton.hpp"
extern "C" {
@ -60,11 +61,14 @@ extern "C" {
#include "common/interfacedescriptor.h"
}
#include <tr1/functional>
#include <string>
using std::string;
using lib::Thread;
using std::tr1::bind;
using lumiera::Subsys;
using gui::LUMIERA_INTERFACE_INAME(lumieraorg_Gui, 1);
@ -120,14 +124,19 @@ namespace gui {
};
void
runGUI (Subsys::SigTerm& reportTermination)
{
GuiLifecycle(reportTermination).run();
}
} // (End) impl details
void
kickOff (Subsys::SigTerm& reportTermination)
kickOff (Subsys::SigTerm& terminationHandle)
{
GuiLifecycle(reportTermination).run();
Thread ("GUI-Main", bind (&runGUI, terminationHandle));
}
} // namespace gui