DBus::Pipe Class Reference

#include <pipe.h>

List of all members.

Public Member Functions

void write (const void *buffer, unsigned int nbytes)
ssize_t read (void *buffer, unsigned int &nbytes)
void signal ()

Private Member Functions

 Pipe (void(*handler)(const void *data, void *buffer, unsigned int nbyte), const void *data)
 ~Pipe ()

Private Attributes

void(* _handler )(const void *data, void *buffer, unsigned int nbyte)
int _fd_write
int _fd_read
const void * _data

Friends

class BusDispatcher

Detailed Description

Definition at line 36 of file pipe.h.


Constructor & Destructor Documentation

Pipe::Pipe ( void(*)(const void *data, void *buffer, unsigned int nbyte)  handler,
const void *  data 
) [private]

Definition at line 43 of file pipe.cpp.

References _fd_read, _fd_write, and DBus::toString().

DBus::Pipe::~Pipe (  )  [inline, private]

Definition at line 63 of file pipe.h.


Member Function Documentation

ssize_t Pipe::read ( void *  buffer,
unsigned int &  nbytes 
)

Definition at line 73 of file pipe.cpp.

References _fd_read.

Referenced by DBus::BusDispatcher::enter().

void Pipe::signal (  ) 

Simply write one single byte into the pipe. This is a shortcut if there's really no data to transport, but to activate the handler.

Definition at line 83 of file pipe.cpp.

References _fd_write, and write().

void Pipe::write ( const void *  buffer,
unsigned int  nbytes 
)

Write some data into the communication pipe.

Parameters:
buffer The raw data to write.
nbytes The number of bytes to write from the buffer.

Definition at line 63 of file pipe.cpp.

References _fd_write.

Referenced by signal().


Friends And Related Function Documentation

friend class BusDispatcher [friend]

Definition at line 63 of file pipe.h.


Member Data Documentation

const void* DBus::Pipe::_data [private]

Definition at line 59 of file pipe.h.

Referenced by DBus::BusDispatcher::enter().

int DBus::Pipe::_fd_read [private]

Definition at line 58 of file pipe.h.

Referenced by Pipe(), and read().

int DBus::Pipe::_fd_write [private]

Definition at line 57 of file pipe.h.

Referenced by Pipe(), signal(), and write().

void(* DBus::Pipe::_handler)(const void *data, void *buffer, unsigned int nbyte) [private]

Definition at line 56 of file pipe.h.

Referenced by DBus::BusDispatcher::enter().


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