mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-11 13:35:27 +00:00
os: remove server/input_event_bridge
This component was solely used during the transition of the input-session to the event-session interface. Fixes #4767
This commit is contained in:
parent
b0e52ba7d4
commit
32f9d1fceb
@ -1,2 +0,0 @@
|
|||||||
SRC_DIR = src/server/input_event_bridge
|
|
||||||
include $(GENODE_DIR)/repos/base/recipes/src/content.inc
|
|
@ -1 +0,0 @@
|
|||||||
2023-01-23 8d2990d998cbbcedc4f88c3dc0cec2a1cf71fcfa
|
|
@ -1,4 +0,0 @@
|
|||||||
base
|
|
||||||
os
|
|
||||||
event_session
|
|
||||||
input_session
|
|
@ -1,96 +0,0 @@
|
|||||||
/*
|
|
||||||
* \brief Service for connecting an input client with an event client
|
|
||||||
* \author Norman Feske
|
|
||||||
* \date 2020-07-02
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2020 Genode Labs GmbH
|
|
||||||
*
|
|
||||||
* This file is part of the Genode OS framework, which is distributed
|
|
||||||
* under the terms of the GNU Affero General Public License version 3.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <event_session/event_session.h>
|
|
||||||
#include <input/component.h>
|
|
||||||
#include <input/event.h>
|
|
||||||
#include <os/static_root.h>
|
|
||||||
#include <base/component.h>
|
|
||||||
#include <base/attached_ram_dataspace.h>
|
|
||||||
|
|
||||||
namespace Input_event_bridge {
|
|
||||||
|
|
||||||
using namespace Genode;
|
|
||||||
|
|
||||||
struct Event_session;
|
|
||||||
struct Main;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
struct Input_event_bridge::Event_session : Rpc_object<Event::Session, Event_session>
|
|
||||||
{
|
|
||||||
Attached_ram_dataspace _ds;
|
|
||||||
|
|
||||||
Input::Session_component &_input_session;
|
|
||||||
|
|
||||||
Dataspace_capability dataspace() { return _ds.cap(); }
|
|
||||||
|
|
||||||
void submit_batch(unsigned count)
|
|
||||||
{
|
|
||||||
unsigned const max_events = (unsigned)(_ds.size() / sizeof(Input::Event));
|
|
||||||
|
|
||||||
if (count > max_events)
|
|
||||||
warning("number of events exceeds dataspace capacity");
|
|
||||||
|
|
||||||
count = min(count, max_events);
|
|
||||||
|
|
||||||
Input::Event const * const events = _ds.local_addr<Input::Event>();
|
|
||||||
|
|
||||||
for (unsigned i = 0; i < count; i++)
|
|
||||||
_input_session.submit(events[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
Event_session(Env &env, Input::Session_component &input_session)
|
|
||||||
:
|
|
||||||
_ds(env.ram(), env.rm(), 4096), _input_session(input_session)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/******************
|
|
||||||
** Main program **
|
|
||||||
******************/
|
|
||||||
|
|
||||||
struct Input_event_bridge::Main
|
|
||||||
{
|
|
||||||
Env &_env;
|
|
||||||
|
|
||||||
Attached_ram_dataspace _ds { _env.ram(), _env.rm(), 4096 };
|
|
||||||
|
|
||||||
Input::Session_component _input_session { _env, _env.ram() };
|
|
||||||
Event_session _event_session { _env, _input_session };
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Attach root interfaces to the entry point
|
|
||||||
*/
|
|
||||||
Static_root<Input::Session> _input_root { _env.ep().manage(_input_session) };
|
|
||||||
Static_root<Event::Session> _event_root { _env.ep().manage(_event_session) };
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
Main(Env &env) : _env(env)
|
|
||||||
{
|
|
||||||
_input_session.event_queue().enabled(true);
|
|
||||||
|
|
||||||
_env.parent().announce(env.ep().manage(_input_root));
|
|
||||||
_env.parent().announce(env.ep().manage(_event_root));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void Component::construct(Genode::Env &env)
|
|
||||||
{
|
|
||||||
static Input_event_bridge::Main inst(env);
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
TARGET = input_event_bridge
|
|
||||||
SRC_CC = main.cc
|
|
||||||
LIBS = base
|
|
Loading…
x
Reference in New Issue
Block a user