#include <rc_driver_object.h>
This is the base class of a non-blocking driver object for the use with interface IF. At construction a channel is set as the target for this driver object.
Member rc_driver_object_b<IF,false>::access provides access to the driver forwarding methods that will redirect the call to the channel being executed by the associated driver process. The first parameter is a pointer the interface method and the subsequent up up to ten optional arguments of the call. The use is as follows:
drvobj.access.call(&if_type::write, rc_cref(value));
The targeted channel may be exchanged by another channel at any time.
Definition at line 326 of file rc_driver_object.h.
Public Member Functions | |
rc_driver_object_b (IF &channel) | |
Constructor. | |
IF & | get_channel () |
Returns the target channel. | |
void | set_channel (IF &channel) |
Sets the target channel. | |
bool | has_written () const |
Have all calls been forwarded? | |
void | cancel () |
Cancels all pending write calls. | |
Public Attributes | |
driver_access | access |
Driver forwarder methods are accessed through this member. | |
Protected Types | |
typedef rc_driver_object_b < IF, false > | this_type |
typedef rc_driver_object_base | base_type |
typedef base_type::write_call | write_call |
typedef base_type::call_type | call_type |
The type of the forwarded function object. | |
typedef base_type::write_call_vector | write_call_vector |
The type of the write call vector. | |
typedef base_type::write_call_iterator | write_call_iterator |
The type of the write call vector iterator. | |
Private Member Functions | |
rc_driver_object_b (const this_type &dobj) | |
(disabled) | |
this_type & | operator= (const this_type &dobj) |
(disabled) | |
Private Attributes | |
IF * | p_channel |
The target channel. | |
Classes | |
class | driver_access |
typedef rc_driver_object_b<IF, false> this_type [protected] |
typedef rc_driver_object_base base_type [protected] |
typedef base_type::write_call write_call [protected] |
Definition at line 335 of file rc_driver_object.h.
typedef base_type::call_type call_type [protected] |
The type of the forwarded function object.
A forwarded function object is always of the form: void f(void).
Reimplemented from rc_driver_object_base.
Definition at line 336 of file rc_driver_object.h.
typedef base_type::write_call_vector write_call_vector [protected] |
The type of the write call vector.
Reimplemented from rc_driver_object_base.
Definition at line 337 of file rc_driver_object.h.
typedef base_type::write_call_iterator write_call_iterator [protected] |
The type of the write call vector iterator.
Reimplemented from rc_driver_object_base.
Definition at line 338 of file rc_driver_object.h.
rc_driver_object_b | ( | IF & | channel | ) | [inline] |
Constructor.
channel | The target channel. |
Definition at line 571 of file rc_driver_object.h.
rc_driver_object_b | ( | const this_type & | dobj | ) | [private] |
(disabled)
IF& get_channel | ( | ) | [inline] |
void set_channel | ( | IF & | channel | ) | [inline] |
Sets the target channel.
channel | The target channel to which the calls are forwarded to. |
Definition at line 358 of file rc_driver_object.h.
Referenced by rc_abstract_interface_wrapper::_rc_set_nb_driver_channel().
bool has_written | ( | ) | const [inline] |
Have all calls been forwarded?
Definition at line 365 of file rc_driver_object.h.
void cancel | ( | ) | [inline] |
Cancels all pending write calls.
Definition at line 375 of file rc_driver_object.h.
IF* p_channel [private] |
driver_access access |
Driver forwarder methods are accessed through this member.
Definition at line 392 of file rc_driver_object.h.