SessionCommandService to be operated by the DispatcherLoop

This commit is contained in:
Fischlurch 2016-12-15 05:38:12 +01:00
parent 715d3d2890
commit a3c22b8aff
3 changed files with 15 additions and 4 deletions

View file

@ -26,6 +26,7 @@
#include "include/logging.h"
#include "proc/control/proc-dispatcher.hpp"
#include "proc/control/command-dispatch.hpp"
#include "proc/control/session-command-service.hpp"
#include "proc/mobject/session.hpp"
#include "backend/thread-wrapper.hpp"
//#include "proc/mobject/mobject-ref.hpp"
@ -50,10 +51,14 @@ namespace control {
bool canDispatch_{false};
bool blocked_ {false};
SessionCommandService commandService_;
public:
DispatcherLoop (Subsys::SigTerm notification)
: ThreadJoinable("Lumiera Session"
, bind (&DispatcherLoop::run, this, notification))
, commandService_(*this)
{
INFO (session, "Proc-Dispatcher running...");
}

View file

@ -177,9 +177,10 @@ namespace control {
SessionCommandService::SessionCommandService ()
: implInstance_(this,_instance),
serviceInstance_( LUMIERA_INTERFACE_REF (lumieraorg_SessionCommand, 0, lumieraorg_SessionCommandService))
SessionCommandService::SessionCommandService (CommandDispatch& dispatcherLoopInterface)
: dispatcher_{dispatcherLoopInterface}
, implInstance_{this,_instance}
, serviceInstance_{ LUMIERA_INTERFACE_REF (lumieraorg_SessionCommand, 0, lumieraorg_SessionCommandService)}
{
INFO (gui, "SessionCommand Facade opened.");
}

View file

@ -46,6 +46,8 @@
#include "common/instancehandle.hpp"
#include "lib/singleton-ref.hpp"
#include <boost/noncopyable.hpp>
namespace proc {
@ -66,7 +68,10 @@ namespace control {
*/
class SessionCommandService
: public SessionCommand
, boost::noncopyable
{
CommandDispatch& dispatcher_;
/* === Implementation of the Facade Interface === */
@ -84,7 +89,7 @@ namespace control {
ServiceInstanceHandle serviceInstance_;
public:
SessionCommandService();
SessionCommandService (CommandDispatch& dispatcherLoopInterface);
};