mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
os: remove obsolete single_session_service.h
This commit is contained in:
parent
e0ca250232
commit
f5dc71ed35
@ -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 <base/service.h>
|
||||
|
||||
|
||||
namespace Genode { template <typename> class Single_session_service; }
|
||||
|
||||
|
||||
template <typename SESSION>
|
||||
class Genode::Single_session_service
|
||||
{
|
||||
public:
|
||||
|
||||
typedef Capability<SESSION> 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<Client> 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_ */
|
Loading…
x
Reference in New Issue
Block a user