diff --git a/repos/os/include/os/single_session_service.h b/repos/os/include/os/single_session_service.h deleted file mode 100644 index 8b076375d9..0000000000 --- a/repos/os/include/os/single_session_service.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * \brief Utility for implementing a local service with a single session - * \author Norman Feske - * \date 2014-02-14 - */ - -/* - * Copyright (C) 2014-2017 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. - */ - -#ifndef _INCLUDE__OS__SINGLE_SESSION_SERVICE_H_ -#define _INCLUDE__OS__SINGLE_SESSION_SERVICE_H_ - -/* Genode includes */ -#include - - -namespace Genode { template class Single_session_service; } - - -template -class Genode::Single_session_service -{ - public: - - typedef Capability Session_capability; - - private: - - /* - * Wrap client object to be compatible with 'Rpc_object::cap' calls - * - * We hand out the capability via 'cap' method to be compatible with - * the interface normally provided by server-side component objects. - * The 'Single_session_factory' requests the capability via this - * method. - */ - struct Client : SESSION::Client - { - Client(Session_capability cap) : SESSION::Client(cap) { } - Client(Region_map &rm, Session_capability cap) : SESSION::Client(rm, cap) { } - Session_capability cap() const { return this->rpc_cap(); } - }; - - typedef Local_service Service; - typedef typename Service::Single_session_factory Factory; - - Client _client; - Factory _factory { _client }; - Service _service { _factory }; - - public: - - Single_session_service(Session_capability cap) : _client(cap) { } - - Single_session_service(Region_map &rm, Session_capability cap) - : _client(rm, cap) { } - - Service &service() { return _service; } -}; - -#endif /* _INCLUDE__OS__SINGLE_SESSION_SERVICE_H_ */