nidas  v1.2-1520
Public Member Functions | Private Member Functions | Private Attributes | List of all members
nidas::core::SensorHandler::NotifyPipe Class Reference
Inheritance diagram for nidas::core::SensorHandler::NotifyPipe:
Inheritance graph
[legend]

Public Member Functions

 NotifyPipe (SensorHandler *handler) throw (nidas::util::IOException)
 
 ~NotifyPipe ()
 
bool handlePollEvents (uint32_t events) throw ()
 
void close () throw (nidas::util::IOException)
 
void notify () throw ()
 Used in public methods of SensorHandler which are called from other threads to notify the SensorHandler that the collection of polled objects has changed. More...
 
int getFd () const
 

Private Member Functions

 NotifyPipe (const NotifyPipe &)
 
NotifyPipeoperator= (const NotifyPipe &)
 

Private Attributes

int _fds [2]
 
SensorHandler_handler
 

Constructor & Destructor Documentation

SensorHandler::NotifyPipe::NotifyPipe ( SensorHandler handler)
throw (nidas::util::IOException
)
SensorHandler::NotifyPipe::~NotifyPipe ( )
nidas::core::SensorHandler::NotifyPipe::NotifyPipe ( const NotifyPipe )
private

Member Function Documentation

void SensorHandler::NotifyPipe::close ( )
throw (nidas::util::IOException
)
int nidas::core::SensorHandler::NotifyPipe::getFd ( ) const
inlinevirtual
bool SensorHandler::NotifyPipe::handlePollEvents ( uint32_t  events)
throw (
)
virtual
Returns
: true: read consumed all available data, false otherwise. This return value is required for edge-triggered polling with epoll, since a read event won't be re-triggered on a file descriptor until all available data is read.

Implements nidas::core::Polled.

References N_POLLERR, N_POLLHUP, N_POLLIN, N_POLLRDHUP, PLOG, and nidas::util::Exception::what().

void SensorHandler::NotifyPipe::notify ( )
throw (
)
NotifyPipe& nidas::core::SensorHandler::NotifyPipe::operator= ( const NotifyPipe )
private

Member Data Documentation

int nidas::core::SensorHandler::NotifyPipe::_fds[2]
private
SensorHandler* nidas::core::SensorHandler::NotifyPipe::_handler
private

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