L4Re - L4 Runtime Environment
L4::Kobject_typeid< T > Struct Template Reference

Meta object for handling access to type information of Kobjects. More...

#include <__typeinfo.h>

+ Collaboration diagram for L4::Kobject_typeid< T >:

Public Types

typedef T::__Kobject_typeid::Demand Demand
 Data type expressing the static demand of receive buffers in a server. More...
 

Static Public Member Functions

static Type_info const * id ()
 Get a pointer to teh Kobject type information of T. More...
 
static Type_info::Demand demand ()
 Get the receive-buffer demand for the server providing the interface T. More...
 
template<typename THIS , typename A1 , typename A2 >
static int proto_dispatch (THIS *self, long proto, A1 a1, A2 &a2)
 Protocol based server-side dispatch function. More...
 

Detailed Description

template<typename T>
struct L4::Kobject_typeid< T >

Meta object for handling access to type information of Kobjects.

Template Parameters
TThe data type derived from Kobject, usually using Kobject_t.

Definition at line 620 of file __typeinfo.h.

Member Typedef Documentation

◆ Demand

template<typename T>
typedef T::__Kobject_typeid::Demand L4::Kobject_typeid< T >::Demand

Data type expressing the static demand of receive buffers in a server.

This information is the combined demand of all base interfaces for T and the buffer demand of T itself. The buffer demand of T is usually specified as the S_DEMAND argument of the Kobject_t or Kobject_2t inheritance helpers. S_DEMAND is usually of type L4::Type_info::Demand_t, or L4::Type_info::Demand_union_t.

Definition at line 632 of file __typeinfo.h.

Member Function Documentation

◆ demand()

template<typename T>
static Type_info::Demand L4::Kobject_typeid< T >::demand ( )
inlinestatic

Get the receive-buffer demand for the server providing the interface T.

Returns
A demand value describing the minimum receive buffers needed for handling server side requests for interface T.

Definition at line 649 of file __typeinfo.h.

◆ id()

template<typename T>
static Type_info const* L4::Kobject_typeid< T >::id ( )
inlinestatic

Get a pointer to teh Kobject type information of T.

Returns
a pointer to the Kobject typeinfor of T.

Definition at line 640 of file __typeinfo.h.

Referenced by L4::kobject_typeid().

+ Here is the caller graph for this function:

◆ proto_dispatch()

template<typename T>
template<typename THIS , typename A1 , typename A2 >
static int L4::Kobject_typeid< T >::proto_dispatch ( THIS *  self,
long  proto,
A1  a1,
A2 &  a2 
)
inlinestatic

Protocol based server-side dispatch function.

Template Parameters
THISData type of the server-side object implementing the interface T.
A1Data type of second argument for p_dispatch()
A2Data type of third argument for p_dispatch()
Parameters
selfThe pointer to the server object
protoThe protocol number used by the caller
a1The second argument passed to self->p_dispatch()
a2The third argument passed to self->p_dispatch()

This function forwards the call to the overloaded p_dispatch() function of self. The data type of the first argument for p_dispatch is determined by the given protocol number.

Definition at line 670 of file __typeinfo.h.


The documentation for this struct was generated from the following file: