L4Re - L4 Runtime Environment
L4::Factory::S Class Reference

Stream class for the create() argument stream. More...

+ Collaboration diagram for L4::Factory::S:

Public Member Functions

 S (S const &o)
 Create a copy. More...
 
 S (l4_cap_idx_t f, long obj, L4::Cap< void > target, l4_utcb_t *utcb) throw ()
 Create a stream for a specific create() call. More...
 
 ~S ()
 Commit the operation in the destructor to have a cool syntax for create().
 
 operator l4_msgtag_t ()
 Explicitly commits the operation and returns the result. More...
 
Soperator<< (l4_mword_t i)
 Put a single l4_mword_t as next argument. More...
 
Soperator<< (l4_umword_t i)
 Put a single l4_umword_t as next argument. More...
 
Soperator<< (char const *s)
 Add a zero-terminated string as next argument. More...
 
Soperator<< (Lstr const &s)
 Add a pascal string as next argument. More...
 
Soperator<< (Nil)
 Add an empty argument. More...
 
Soperator<< (l4_fpage_t d)
 Add a flex page as next argument. More...
 

Detailed Description

Stream class for the create() argument stream.

This stream allows a variable number of arguments to be added to a create() call.

Definition at line 96 of file factory.

Constructor & Destructor Documentation

◆ S() [1/2]

L4::Factory::S::S ( S const &  o)
inline

Create a copy.

Parameters
oInstance of S to copy.

Definition at line 109 of file factory.

◆ S() [2/2]

L4::Factory::S::S ( l4_cap_idx_t  f,
long  obj,
L4::Cap< void >  target,
l4_utcb_t utcb 
)
throw (
)
inline

Create a stream for a specific create() call.

Parameters
fThe capability for the factory object (L4::Factory).
objThe protocol ID to describe the type of the object that shall be created.
[out]targetThe capability selector for the new object. The caller must allocate the capability slot. The kernel stores the new object's capability into this slot.
utcbThe UTCB to use for the operation.

Definition at line 124 of file factory.

Member Function Documentation

◆ operator l4_msgtag_t()

L4::Factory::S::operator l4_msgtag_t ( )
inline

Explicitly commits the operation and returns the result.

Returns
The result of the create() operation.

Definition at line 144 of file factory.

◆ operator<<() [1/6]

S& L4::Factory::S::operator<< ( l4_mword_t  i)
inline

Put a single l4_mword_t as next argument.

Parameters
iThe value to add as next argument.
Returns
Reference to this stream.

Definition at line 158 of file factory.

◆ operator<<() [2/6]

S& L4::Factory::S::operator<< ( l4_umword_t  i)
inline

Put a single l4_umword_t as next argument.

Parameters
iThe value to add as next argument.
Returns
Reference to this stream.

Definition at line 171 of file factory.

◆ operator<<() [3/6]

S& L4::Factory::S::operator<< ( char const *  s)
inline

Add a zero-terminated string as next argument.

Parameters
sThe string to add as next argument.
Returns
Reference to this stream.

The string will be added with the zero-terminator.

Definition at line 186 of file factory.

◆ operator<<() [4/6]

S& L4::Factory::S::operator<< ( Lstr const &  s)
inline

Add a pascal string as next argument.

Parameters
sThe string to add as next argument.
Returns
Reference to this stream.

The string will be added with the exact length given. It is the responsibility of the caller to make sure that the string is zero- terminated when that is required by the server.

Definition at line 203 of file factory.

◆ operator<<() [5/6]

S& L4::Factory::S::operator<< ( Nil  )
inline

Add an empty argument.

Returns
Reference to this stream.

Definition at line 214 of file factory.

◆ operator<<() [6/6]

S& L4::Factory::S::operator<< ( l4_fpage_t  d)
inline

Add a flex page as next argument.

Parameters
dThe flex page to add (there will be no map operation).
Returns
Reference to this stream.

Definition at line 227 of file factory.


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