base: refactor signal_transmitter::submit

Move it to platform specific .cc file, so that it may get re-implemented
platform specifically if needed.

Issue #1446
This commit is contained in:
Alexander Boettcher
2015-03-17 11:51:00 +01:00
committed by Christian Helmuth
parent dac3efcc02
commit 1f8fad8fa1
14 changed files with 75 additions and 22 deletions

View File

@ -34,6 +34,7 @@ namespace Genode {
class Signal_transmitter;
class Signal;
class Signal_dispatcher_base;
class Signal_connection;
template <typename> class Signal_dispatcher;
}
@ -122,6 +123,8 @@ class Genode::Signal_transmitter
Signal_context_capability _context; /* destination */
Signal_connection * connection();
public:
/**

View File

@ -0,0 +1,29 @@
/*
* \brief Generic implementation parts of the signaling framework which are
* implemented platform specifically, e.g. base-hw and base-nova.
* \author Norman Feske
* \author Alexander Boettcher
*/
/*
* Copyright (C) 2008-2015 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#include <signal_session/connection.h>
using namespace Genode;
/************************
** Signal transmitter **
************************/
void Signal_transmitter::submit(unsigned cnt)
{
{
Trace::Signal_submit trace_event(cnt);
}
connection()->submit(_context, cnt);
}

View File

@ -228,14 +228,7 @@ void Signal_context::submit(unsigned num)
** Signal transmitter **
************************/
void Signal_transmitter::submit(unsigned cnt)
{
{
Trace::Signal_submit trace_event(cnt);
}
signal_connection()->submit(_context, cnt);
}
Signal_connection * Signal_transmitter::connection() { return signal_connection(); }
/*********************
** Signal receiver **