L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND > Struct Template Reference

Helper class to create an L4Re interface class that is derived from three base classes (see L4::Kobject_t). More...

#include <l4/sys/capability>

+ Inheritance diagram for L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >:
+ Collaboration diagram for L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >:

Protected Types

typedef Derived Class
 The target interface type (inheriting from Kobject_t)
 
typedef Typeid::Iface< PROTO, Derived > __Iface
 The interface description for the derived class.
 
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, Typeid::Merge_list< typename Base1::__Iface_list, Typeid::Merge_list< typename Base2::__Iface_list, typename Base3::__Iface_list > > > __Iface_list
 The list of all RPC interfaces provided directly or through inheritance.
 

Protected Member Functions

L4::Cap< Classc () const noexcept
 Get the capability to ourselves.
 

Static Protected Member Functions

static void __check_protocols__ () noexcept
 Helper to check for protocol conflicts.
 

Detailed Description

template<typename Derived, typename Base1, typename Base2, typename Base3, long PROTO = PROTO_ANY, typename S_DEMAND = Type_info::Demand_t<>>
struct L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >

Helper class to create an L4Re interface class that is derived from three base classes (see L4::Kobject_t).

Template Parameters
Derivedis the name of the new interface.
Base1is the name of the interface's first base class.
Base2is the name of the interface's second base class.
Base3is the name of the interfaces third base class.
PROTOmay be set to the statically assigned protocol number used to communicate with this interface.
S_DEMANDtype defining the demand on server-side resources for this interface, usually a L4::Type_info::Demand_t. This value must describe the server-side resources needed by the interface itself, the resource demand of the base interfaces (Base1 and Base2) are automatically included.
See also
L4::Kobject_t, L4::Kobject_2t, L4::Kobject_0t, L4::Kobject_x

Definition at line 941 of file __typeinfo.h.

Member Typedef Documentation

◆ __Iface

template<typename Derived , typename Base1 , typename Base2 , typename Base3 , long PROTO = PROTO_ANY, typename S_DEMAND = Type_info::Demand_t<>>
typedef Typeid::Iface<PROTO, Derived> L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >::__Iface
protected

The interface description for the derived class.

Definition at line 947 of file __typeinfo.h.

◆ __Iface_list

template<typename Derived , typename Base1 , typename Base2 , typename Base3 , long PROTO = PROTO_ANY, typename S_DEMAND = Type_info::Demand_t<>>
typedef Typeid::Merge_list< Typeid::Iface_list<__Iface>, Typeid::Merge_list< typename Base1::__Iface_list, Typeid::Merge_list< typename Base2::__Iface_list, typename Base3::__Iface_list > > > L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >::__Iface_list
protected

The list of all RPC interfaces provided directly or through inheritance.

Definition at line 958 of file __typeinfo.h.

◆ Class

template<typename Derived , typename Base1 , typename Base2 , typename Base3 , long PROTO = PROTO_ANY, typename S_DEMAND = Type_info::Demand_t<>>
typedef Derived L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >::Class
protected

The target interface type (inheriting from Kobject_t)

Definition at line 945 of file __typeinfo.h.

Member Function Documentation

◆ __check_protocols__()

template<typename Derived , typename Base1 , typename Base2 , typename Base3 , long PROTO = PROTO_ANY, typename S_DEMAND = Type_info::Demand_t<>>
static void L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >::__check_protocols__ ( )
inlinestaticprotectednoexcept

Helper to check for protocol conflicts.

Definition at line 961 of file __typeinfo.h.

◆ c()

template<typename Derived , typename Base1 , typename Base2 , typename Base3 , long PROTO = PROTO_ANY, typename S_DEMAND = Type_info::Demand_t<>>
L4::Cap< Class > L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >::c ( ) const
inlineprotectednoexcept

Get the capability to ourselves.

Definition at line 989 of file __typeinfo.h.


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