Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

EStopController Class Reference

Listens to control commands coming in from the command port for remotely controlling the head. More...

#include <EStopController.h>

Inheritance diagram for EStopController:

Detailed Description

Listens to control commands coming in from the command port for remotely controlling the head.

Definition at line 15 of file EStopController.h.

List of all members.

Public Member Functions

 EStopController ()
 constructor
virtual ~EStopController ()
 destructor
virtual void doStart ()
 Delegate function for subclasses to be notified when the behavior starts up.
virtual void doStop ()
 Delegate function for subclasses to be notified when the behavior starts up.
virtual void doEvent ()
 Delegate function for event processing, the event itself is pointed to (only for the duration of the doEvent() call!) by event.
virtual std::string getDescription () const
 Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).
virtual void runCommand (const std::string &s)
 processes a string received from wireless

Static Public Member Functions

static int callback (char *buf, int bytes)
 called by wireless when there's new data
static std::string getClassDescription ()
 Gives a short description of what this class of behaviors does... you should override this (but don't have to).

Static Public Attributes

static EStopControllertheOne = NULL
 Points to the one EStopController object that the input command stream is talking to.

Protected Attributes

Socketcmdsock
 The input command stream socket.

Private Member Functions

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

Constructor & Destructor Documentation

EStopController::EStopController (  ) 

constructor

Definition at line 25 of file EStopController.h.

virtual EStopController::~EStopController (  )  [virtual]

destructor

Definition at line 32 of file EStopController.h.

EStopController::EStopController ( const EStopController  )  [private]

don't call


Member Function Documentation

int EStopController::callback ( char *  buf,
int  bytes 
) [static]

called by wireless when there's new data

Definition at line 49 of file EStopController.cc.

Referenced by doStart().

void EStopController::doEvent (  )  [virtual]

Delegate function for event processing, the event itself is pointed to (only for the duration of the doEvent() call!) by event.

Default implementation watches for 'private' text message events (those forwarded by a BehaviorSwitchControl from ControllerGUI input) and will publically rebroadcast them. The idea is that your own processEvent gets first dibs, but if the behavior doesn't handle the text message, it will be handed off for others.

Reimplemented from BehaviorBase.

Definition at line 40 of file EStopController.cc.

void EStopController::doStart (  )  [virtual]

Delegate function for subclasses to be notified when the behavior starts up.

Should be overridden by subclasses to subscribe to events, install motion commands, etc.

doStart() is basically a hook to allow subclasses to jump in and do some customization of behavior parameters while the behavior is starting. If you are writing a behavior class and do not expect further derivation, just override doStart() yourself. However, if you do expect further derivation of your class, consider using preStart() or postStart() instead, and leave doStart() for the 'leaf' classes.

Reimplemented from BehaviorBase.

Definition at line 9 of file EStopController.cc.

void EStopController::doStop (  )  [virtual]

Delegate function for subclasses to be notified when the behavior starts up.

May be overridden to cleanup when the behavior is shutting down. However events will automatically be unsubscribed, and by using addMotion(), motions will automatically be removed by stop(), so you may not need any cleanup.

Reimplemented from BehaviorBase.

Definition at line 19 of file EStopController.cc.

static std::string EStopController::getClassDescription (  )  [static]

Gives a short description of what this class of behaviors does... you should override this (but don't have to).

If you do override this, also consider overriding getDescription() to return it

Reimplemented from BehaviorBase.

Definition at line 42 of file EStopController.h.

Referenced by getDescription().

virtual std::string EStopController::getDescription (  )  const [virtual]

Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).

By default simply returns getName(), because any calls from a BehaviorBase function to getClassDescription() are going to call BehaviorBase::getClassDescription(), not ~YourSubClass~getClassDescription(), because static functions can't be virtual in C++ (doh!)

This means that getDescription called on a pointer to a BehaviorBase of unknown subtype would always return an empty string, which is pretty useless. So instead we return the name in this situation. If you want getDescription to return getClassDescription, you'll have to override it in your subclass to do so.

Reimplemented from BehaviorBase.

Definition at line 47 of file EStopController.h.

EStopController EStopController::operator= ( const EStopController  )  [private]

don't call

void EStopController::runCommand ( const std::string &  s  )  [virtual]

processes a string received from wireless

Definition at line 25 of file EStopController.cc.

Referenced by callback().


Member Data Documentation

The input command stream socket.

Definition at line 53 of file EStopController.h.

Referenced by doEvent(), doStart(), doStop(), and runCommand().

Points to the one EStopController object that the input command stream is talking to.

A kludge. Dunno how you're gonna make sure you're not using this uninitialized.

Definition at line 20 of file EStopController.h.

Referenced by EStopController(), and ~EStopController().


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

Tekkotsu v5.1CVS
Generated Mon May 9 04:59:07 2016 by Doxygen 1.6.3