L4Re Operating System Framework
Interface and Usage Documentation
|
Helper class to implement p_dispatch based server objects. More...
#include <ipc_server>
Public Member Functions | |
int | dispatch (l4_umword_t r, L4::Ipc::Iostream &ios) |
Implementation forwarding to p_dispatch(). | |
Public Member Functions inherited from L4::Server_object | |
l4_msgtag_t | dispatch (l4_msgtag_t tag, unsigned rights, l4_utcb_t *utcb) override |
The abstract handler for client requests to the object. | |
Public Member Functions inherited from L4::Epiface | |
Epiface () | |
Make a server object. | |
virtual | ~Epiface ()=0 |
Destroy the object. | |
Stored_cap | obj_cap () const |
Get the capability to the kernel object belonging to this object. | |
Server_iface * | server_iface () const |
Get pointer to server interface at which the object is currently registered. | |
int | set_server (Server_iface *srv, Cap< void > cap, bool managed=false) |
Set server registration info for the object. | |
void | set_obj_cap (Cap< void > const &cap) |
Deprecated server registration function. | |
Public Member Functions inherited from L4::Server_object_t< IFACE, BASE > | |
BASE::Demand | get_buffer_demand () const override |
int | dispatch_meta_request (L4::Ipc::Iostream &ios) |
Implementation of the meta protocol based on IFACE. | |
Additional Inherited Members | |
Public Types inherited from L4::Epiface | |
typedef Ipc_svr::Server_iface | Server_iface |
Type for abstract server interface. | |
typedef Ipc_svr::Server_iface::Demand | Demand |
Type for server-side receive buffer demand. | |
Public Types inherited from L4::Server_object_t< IFACE, BASE > | |
typedef IFACE | Interface |
Data type of the IPC interface definition. | |
Static Public Member Functions inherited from L4::Server_object_t< IFACE, BASE > | |
template<typename THIS > | |
static int | proto_dispatch (THIS *self, l4_umword_t rights, L4::Ipc::Iostream &ios) |
Implementation of protocol-based dispatch for this server object. | |
Helper class to implement p_dispatch based server objects.
Derived | The data type of your server object class. |
IFACE | The data type providing the interface definition for the object. |
BASE | Optional data-type of the base server object (usually L4::Server_object) |
This class implements the standard dispatch() function of L4::Server_object and forwards incoming messages to a set of overloaded p_dispatch() functions. There must be a p_dispatch() function in Derived for each interface provided by IFACE with the signature
that is called for messages with protocol == Iface::Protocol.
Example signature for L4Re::Dataspace is:
Definition at line 154 of file ipc_server.