L4Re - L4 Runtime Environment
L4::Smart_cap< T, SMART > Class Template Reference

Smart capability class. More...

+ Inheritance diagram for L4::Smart_cap< T, SMART >:
+ Collaboration diagram for L4::Smart_cap< T, SMART >:

Public Member Functions

template<typename O >
 Smart_cap (Cap< O > const &p) throw ()
 Internal constructor, use to generate a capability from a this pointer. More...
 
Cap< T > operator-> () const throw ()
 Member access of a T.
 
- Public Member Functions inherited from L4::Cap_base
l4_cap_idx_t cap () const throw ()
 Return capability selector. More...
 
bool is_valid () const throw ()
 Test whether the capability is a valid capability index (i.e., not L4_INVALID_CAP). More...
 
l4_fpage_t fpage (unsigned rights=L4_FPAGE_RWX) const throw ()
 Return flex-page for the capability. More...
 
l4_umword_t snd_base (unsigned grant=0, l4_cap_idx_t base=L4_INVALID_CAP) const throw ()
 Return send base. More...
 
bool operator== (Cap_base const &o) const throw ()
 Test if two capabilities are equal.
 
bool operator!= (Cap_base const &o) const throw ()
 Test if two capabilities are not equal.
 
l4_msgtag_t validate (l4_utcb_t *u=l4_utcb()) const throw ()
 Check whether a capability is present (refers to an object). More...
 
l4_msgtag_t validate (Cap< Task > task, l4_utcb_t *u=l4_utcb()) const throw ()
 Check whether a capability is present (refers to an object). More...
 
void invalidate () throw ()
 Set this capability to invalid (L4_INVALID_CAP).
 

Additional Inherited Members

- Public Types inherited from L4::Cap_base
enum  No_init_type { No_init }
 
enum  Cap_type { Invalid = L4_INVALID_CAP }
 Invalid capability type. More...
 
- Protected Member Functions inherited from L4::Cap_base
 Cap_base (l4_cap_idx_t c) throw ()
 Generate a capability from its C representation. More...
 
 Cap_base (Cap_type cap) throw ()
 Constructor to create an invalid capability.
 
 Cap_base (l4_default_caps_t cap) throw ()
 Initialize capability with one of the default capabilities. More...
 
 Cap_base () throw ()
 Create an uninitialized instance.
 
void move (Cap_base const &src) const
 Replace this capability with the contents of src. More...
 
void copy (Cap_base const &src) const
 Copy a capability. More...
 
- Protected Attributes inherited from L4::Cap_base
l4_cap_idx_t _c
 The C representation of a capability selector. More...
 

Detailed Description

template<typename T, typename SMART>
class L4::Smart_cap< T, SMART >

Smart capability class.

Definition at line 36 of file smart_capability.

Constructor & Destructor Documentation

◆ Smart_cap()

template<typename T , typename SMART >
template<typename O >
L4::Smart_cap< T, SMART >::Smart_cap ( Cap< O > const &  p)
throw (
)
inline

Internal constructor, use to generate a capability from a this pointer.

Attention
This constructor is only useful to generate a capability from the this pointer of an objected that is an L4::Kobject. Do never use this constructor for something else!
Parameters
pThe this pointer of the Kobject or derived object

Definition at line 73 of file smart_capability.


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