Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

IPCEventTranslator Class Reference

#include <EventTranslator.h>

Inheritance diagram for IPCEventTranslator:

Inheritance graph
[legend]
List of all members.

Detailed Description

An implementation of EventTranslator which will forward events using the inter-process mechanisms of the current platform.

The current implementation creates an RCRegion for each event and then releases its reference to the region after it is sent. A more efficient implementation might retain a queue of recycled RCRegions to reduce allocation costs

Definition at line 125 of file EventTranslator.h.

Public Types

typedef OSubject IPCSender_t
 the class for sending IPC messages on aperios

Public Member Functions

 IPCEventTranslator (IPCSender_t &subj)
 constructor

Protected Member Functions

virtual char * bufferRequest (unsigned int size)
 Called by encodeEvent() to request a buffer for serializing into, must be at least size.
virtual void post (const char *buf, unsigned int size)
 Called by encodeEvent() after serialization is complete for communication to other processes.

Protected Attributes

IPCSender_tsubject
 where to post messages upon serialization, set by constructor
RCRegion * curRegion
 the region currently being serialized into, only valid between call to bufferRequest() and following post()

Private Member Functions

 IPCEventTranslator (const IPCEventTranslator &)
 don't call
IPCEventTranslator operator= (const IPCEventTranslator &)
 don't call


Member Typedef Documentation

typedef OSubject IPCEventTranslator::IPCSender_t
 

the class for sending IPC messages on aperios

Definition at line 129 of file EventTranslator.h.


Constructor & Destructor Documentation

IPCEventTranslator::IPCEventTranslator IPCSender_t subj  )  [inline, explicit]
 

constructor

Definition at line 135 of file EventTranslator.h.

IPCEventTranslator::IPCEventTranslator const IPCEventTranslator  )  [private]
 

don't call


Member Function Documentation

char * IPCEventTranslator::bufferRequest unsigned int  size  )  [protected, virtual]
 

Called by encodeEvent() to request a buffer for serializing into, must be at least size.

This buffer will then be sent to post(), which should free it (or recycle it for usage by a later bufferRequest())

Implements EventTranslator.

Definition at line 73 of file EventTranslator.cc.

IPCEventTranslator IPCEventTranslator::operator= const IPCEventTranslator  )  [private]
 

don't call

void IPCEventTranslator::post const char *  buf,
unsigned int  size
[protected, virtual]
 

Called by encodeEvent() after serialization is complete for communication to other processes.

Parameters:
buf the data to be sent, will be a buffer previously requested from bufferRequest
size the number of bytes to send
You will always get this callback after each call to bufferRequest(), even in the event of an error during saving. If an error occured, the callback will receive 0 for size.

Implements EventTranslator.

Definition at line 82 of file EventTranslator.cc.


Member Data Documentation

RCRegion* IPCEventTranslator::curRegion [protected]
 

the region currently being serialized into, only valid between call to bufferRequest() and following post()

Definition at line 142 of file EventTranslator.h.

Referenced by bufferRequest(), and post().

IPCSender_t& IPCEventTranslator::subject [protected]
 

where to post messages upon serialization, set by constructor

Definition at line 141 of file EventTranslator.h.

Referenced by post().


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

Tekkotsu v2.4.1
Generated Tue Aug 16 16:35:03 2005 by Doxygen 1.4.4