Loading...
Searching...
No Matches
L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND > Struct Template Reference
Base API » Kernel Objects » L4 kernel object type information

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< Class > | c () 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

  Derived | is the name of the new interface.
  Base1 | is the name of the interface's first base class.
  Base2 | is the name of the interface's second base class.
  Base3 | is the name of the interfaces third base class.
  PROTO | may be set to the statically assigned protocol number used to communicate with this interface.
  S_DEMAND | type 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 930 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 936 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 947 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 934 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<>>

void L4::Kobject_3t< Derived, Base1, Base2, Base3, PROTO, S_DEMAND >::__check_protocols__ | ( |  | ) |

inlinestaticprotectednoexcept

Helper to check for protocol conflicts.

Definition at line 950 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 978 of file __typeinfo.h.

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

- l4/sys/__typeinfo.h