/* * \brief Client-side parent interface * \author Norman Feske * \date 2006-05-10 */ /* * Copyright (C) 2006-2013 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. */ #ifndef _INCLUDE__PARENT__CLIENT_H_ #define _INCLUDE__PARENT__CLIENT_H_ #include #include namespace Genode { struct Parent_client; } struct Genode::Parent_client : Rpc_client { explicit Parent_client(Parent_capability parent) : Rpc_client(parent) { } void exit(int exit_value) override { call(exit_value); } void announce(Service_name const &service) override { call(service); } void session_sigh(Signal_context_capability sigh) override { call(sigh); } Session_capability session(Client::Id id, Service_name const &service, Session_args const &args, Affinity const &affinity) override { return call(id, service, args, affinity); } Session_capability session_cap(Client::Id id) override { return call(id); } Upgrade_result upgrade(Client::Id to_session, Upgrade_args const &args) override { return call(to_session, args); } Close_result close(Client::Id id) override { return call(id); } void session_response(Id_space::Id id, Session_response response) override { call(id, response); } void deliver_session_cap(Id_space::Id id, Session_capability cap) override { call(id, cap); } Thread_capability main_thread_cap() const override { return call(); } void resource_avail_sigh(Signal_context_capability sigh) override { call(sigh); } void resource_request(Resource_args const &args) override { call(args); } void yield_sigh(Signal_context_capability sigh) override { call(sigh); } Resource_args yield_request() override { return call(); } void yield_response() override { call(); } }; #endif /* _INCLUDE__PARENT__CLIENT_H_ */