L4Re - L4 Runtime Environment
L4::Kobject_t< Derived, Base, PROTO, S_DEMAND > Class Template Reference

Helper class to create an L4Re interface class that is derived from a single base class. More...

#include <l4/sys/capability>

+ Inheritance diagram for L4::Kobject_t< Derived, Base, PROTO, S_DEMAND >:
+ Collaboration diagram for L4::Kobject_t< Derived, Base, 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 >, typename Base::__Iface_list > __Iface_list
 The list of all RPC interfaces provided directly or through inheritance.
 

Protected Member Functions

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

Static Protected Member Functions

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

Detailed Description

template<typename Derived, typename Base, long PROTO = PROTO_ANY, typename S_DEMAND = Type_info::Demand_t<>>
class L4::Kobject_t< Derived, Base, PROTO, S_DEMAND >

Helper class to create an L4Re interface class that is derived from a single base class.

Template Parameters
Derivedis the name of the new interface.
Baseis the name of the interfaces single 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 interface Base is automatically included.

The typical usage pattern is shown in the following code snippet. The semantics of this example is an interface My_iface that is derived from L4::Kobject.

class My_iface : public L4::Kobject_t<My_iface, L4::Kobject>
{
...
};

Definition at line 759 of file __typeinfo.h.


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