Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

RemoteRouter Class Reference

#include <RemoteRouter.h>

Inheritance diagram for RemoteRouter:

List of all members.


Detailed Description

Definition at line 21 of file RemoteRouter.h.


Public Member Functions

 RemoteRouter (int host)
 constructor
virtual ~RemoteRouter ()
 destructor
void requestStateUpdates (RemoteState::StateType type, unsigned int interval)
 Request state data from a remote robot every 'interval' amount of time. Use EventRouter::requestRemoteStateUpdates() rather than calling this directly.
void stopStateUpdates (RemoteState::StateType type)
 Cancels state data updates from a remote dog for the given StateType. Use EventRouter::stopRemoteStateUpdates() rather than calling this directly.
void addListener (EventBase::EventGeneratorID_t egid)
 Add remote listener by EGID. Use EventRouter::addRemoteListener() rather than calling this directly.
void addListener (EventBase::EventGeneratorID_t egid, size_t sid)
 Add remote listener by EGID and SID. Use EventRouter::addRemoteListener() rather than calling this directly.
void addListener (EventBase::EventGeneratorID_t egid, size_t sid, EventBase::EventTypeID_t etid)
 Add remote listener by EGID, SID, and ETID. Use EventRouter::addRemoteListener() rather than calling this directly.
void removeListener (EventBase::EventGeneratorID_t egid)
 Remove remote listener by EGID. Use EventRouter::removeRemoteListener() rather than calling this directly.
void removeListener (EventBase::EventGeneratorID_t egid, size_t sid)
 Remove remote listener by EGID and SID. Use EventRouter::removeRemoteListener() rather than calling this directly.
void removeListener (EventBase::EventGeneratorID_t egid, size_t sid, EventBase::EventTypeID_t etid)
 Remove remote listener by EGID, SID, and ETID. Use EventRouter::removeRemoteListener() rather than calling this directly.
void processEvent (const EventBase &event)
 Processes timer events which wait for connections to remote EventProxy.
int processData (char *data, int bytes)
 Receives data from remote EventProxy and forwards it to the correct function according to the data type (Event or State).

Public Attributes

RemoteStaterstate

Protected Member Functions

bool isReady ()
 Returns true when robot is connected to remote robot.
void connect (int port)
 Connect robot on specified port.
void sendRemoteRequest (RemoteRequest &info)
 Add a remote request to the request queue.
void forwardEvent (std::vector< char > &event)
 Decode the event from the buffer and post it locally.
 RemoteRouter (RemoteRouter &)
RemoteRouteroperator= (const RemoteRouter &)

Protected Attributes

bool waitingForPort
std::list< RemoteRequestrequestQueue
bool timerActive
int waitTime
int remoteHost

Constructor & Destructor Documentation

RemoteRouter::RemoteRouter ( int  host  ) 

constructor

Definition at line 14 of file RemoteRouter.cc.

RemoteRouter::~RemoteRouter (  )  [virtual]

destructor

Definition at line 27 of file RemoteRouter.cc.

RemoteRouter::RemoteRouter ( RemoteRouter  )  [protected]


Member Function Documentation

void RemoteRouter::requestStateUpdates ( RemoteState::StateType  type,
unsigned int  interval 
)

Request state data from a remote robot every 'interval' amount of time. Use EventRouter::requestRemoteStateUpdates() rather than calling this directly.

Definition at line 148 of file RemoteRouter.cc.

Referenced by EventRouter::requestRemoteStateUpdates().

void RemoteRouter::stopStateUpdates ( RemoteState::StateType  type  ) 

Cancels state data updates from a remote dog for the given StateType. Use EventRouter::stopRemoteStateUpdates() rather than calling this directly.

Definition at line 157 of file RemoteRouter.cc.

Referenced by EventRouter::stopRemoteStateUpdates().

void RemoteRouter::addListener ( EventBase::EventGeneratorID_t  egid  ) 

Add remote listener by EGID. Use EventRouter::addRemoteListener() rather than calling this directly.

Definition at line 164 of file RemoteRouter.cc.

Referenced by EventRouter::addRemoteListener().

void RemoteRouter::addListener ( EventBase::EventGeneratorID_t  egid,
size_t  sid 
)

Add remote listener by EGID and SID. Use EventRouter::addRemoteListener() rather than calling this directly.

Definition at line 172 of file RemoteRouter.cc.

void RemoteRouter::addListener ( EventBase::EventGeneratorID_t  egid,
size_t  sid,
EventBase::EventTypeID_t  etid 
)

Add remote listener by EGID, SID, and ETID. Use EventRouter::addRemoteListener() rather than calling this directly.

Definition at line 182 of file RemoteRouter.cc.

void RemoteRouter::removeListener ( EventBase::EventGeneratorID_t  egid  ) 

Remove remote listener by EGID. Use EventRouter::removeRemoteListener() rather than calling this directly.

Definition at line 194 of file RemoteRouter.cc.

Referenced by EventRouter::removeRemoteListener().

void RemoteRouter::removeListener ( EventBase::EventGeneratorID_t  egid,
size_t  sid 
)

Remove remote listener by EGID and SID. Use EventRouter::removeRemoteListener() rather than calling this directly.

Definition at line 202 of file RemoteRouter.cc.

void RemoteRouter::removeListener ( EventBase::EventGeneratorID_t  egid,
size_t  sid,
EventBase::EventTypeID_t  etid 
)

Remove remote listener by EGID, SID, and ETID. Use EventRouter::removeRemoteListener() rather than calling this directly.

Definition at line 212 of file RemoteRouter.cc.

void RemoteRouter::processEvent ( const EventBase event  )  [virtual]

Processes timer events which wait for connections to remote EventProxy.

Implements EventListener.

Definition at line 224 of file RemoteRouter.cc.

int RemoteRouter::processData ( char *  data,
int  bytes 
) [virtual]

Receives data from remote EventProxy and forwards it to the correct function according to the data type (Event or State).

Implements SocketListener.

Definition at line 96 of file RemoteRouter.cc.

bool RemoteRouter::isReady (  )  [inline, protected]

Returns true when robot is connected to remote robot.

Definition at line 71 of file RemoteRouter.h.

Referenced by processEvent(), and sendRemoteRequest().

void RemoteRouter::connect ( int  port  )  [protected]

Connect robot on specified port.

Definition at line 85 of file RemoteRouter.cc.

Referenced by processData(), and RemoteRouter().

void RemoteRouter::sendRemoteRequest ( RemoteRequest info  )  [protected]

Add a remote request to the request queue.

Definition at line 260 of file RemoteRouter.cc.

Referenced by addListener(), processEvent(), removeListener(), requestStateUpdates(), and stopStateUpdates().

void RemoteRouter::forwardEvent ( std::vector< char > &  event  )  [protected]

Decode the event from the buffer and post it locally.

Definition at line 33 of file RemoteRouter.cc.

Referenced by processData().

RemoteRouter& RemoteRouter::operator= ( const RemoteRouter  )  [protected]


Member Data Documentation

bool RemoteRouter::waitingForPort [protected]

Definition at line 78 of file RemoteRouter.h.

Referenced by isReady(), and processData().

std::list<RemoteRequest> RemoteRouter::requestQueue [protected]

Definition at line 79 of file RemoteRouter.h.

Referenced by processEvent(), and sendRemoteRequest().

bool RemoteRouter::timerActive [protected]

Definition at line 80 of file RemoteRouter.h.

Referenced by processEvent(), and sendRemoteRequest().

int RemoteRouter::waitTime [protected]

Definition at line 81 of file RemoteRouter.h.

Referenced by processEvent(), and sendRemoteRequest().

int RemoteRouter::remoteHost [protected]

Definition at line 83 of file RemoteRouter.h.

Referenced by connect(), forwardEvent(), and RemoteRouter().


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

Tekkotsu v4.0
Generated Thu Nov 22 00:58:39 2007 by Doxygen 1.5.4