From cf4b663b38c88170c791a7d552e0f92eb30dac8b Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Fri, 13 Jan 2017 16:17:58 +0100 Subject: [PATCH] log_terminal: API transition Issue #1987 --- repos/os/src/server/log_terminal/main.cc | 53 ++++++++++------------ repos/os/src/server/log_terminal/target.mk | 2 +- 2 files changed, 26 insertions(+), 29 deletions(-) diff --git a/repos/os/src/server/log_terminal/main.cc b/repos/os/src/server/log_terminal/main.cc index e2a81880c7..16bcf300f7 100644 --- a/repos/os/src/server/log_terminal/main.cc +++ b/repos/os/src/server/log_terminal/main.cc @@ -5,16 +5,16 @@ */ /* - * Copyright (C) 2013 Genode Labs GmbH + * Copyright (C) 2013-2017 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. */ /* Genode includes */ +#include #include #include -#include #include #include #include @@ -99,9 +99,11 @@ class Terminal::Session_component : public Rpc_objectram_session(), io_buffer_size) + _io_buffer(ram, rm, io_buffer_size) { } @@ -148,50 +150,45 @@ class Terminal::Session_component : public Rpc_object { + private: + + Ram_session &_ram; + Region_map &_rm; + protected: Session_component *_create_session(const char *args) { size_t const io_buffer_size = 4096; - return new (md_alloc()) Session_component(io_buffer_size); + return new (md_alloc()) Session_component(_ram, _rm, io_buffer_size); } public: - Root_component(Server::Entrypoint &ep, Genode::Allocator &md_alloc) + Root_component(Entrypoint &ep, + Allocator &md_alloc, + Ram_session &ram, + Region_map &rm) : - Genode::Root_component(&ep.rpc_ep(), &md_alloc) + Genode::Root_component(&ep.rpc_ep(), &md_alloc), + _ram(ram), _rm(rm) { } }; struct Terminal::Main { - Server::Entrypoint &ep; + Env &_env; - Sliced_heap sliced_heap = { env()->ram_session(), env()->rm_session() }; + Sliced_heap sliced_heap { _env.ram(), _env.rm() }; - Root_component terminal_root = { ep, sliced_heap }; + Root_component terminal_root { _env.ep(), sliced_heap, + _env.ram(), _env.rm() }; - Main(Server::Entrypoint &ep) : ep(ep) + Main(Env &env) : _env(env) { - env()->parent()->announce(ep.manage(terminal_root)); + env.parent().announce(env.ep().manage(terminal_root)); } }; - -/************ - ** Server ** - ************/ - -namespace Server { - - char const *name() { return "log_terminal_ep"; } - - size_t stack_size() { return 16*1024*sizeof(long); } - - void construct(Entrypoint &ep) - { - static Terminal::Main terminal(ep); - } -} +void Component::construct(Genode::Env &env) { static Terminal::Main main(env); } diff --git a/repos/os/src/server/log_terminal/target.mk b/repos/os/src/server/log_terminal/target.mk index bc6511a172..8cd4827b76 100644 --- a/repos/os/src/server/log_terminal/target.mk +++ b/repos/os/src/server/log_terminal/target.mk @@ -1,3 +1,3 @@ TARGET = log_terminal SRC_CC = main.cc -LIBS = base server +LIBS = base