Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

WMMonitorBehavior Class Reference

Listens to wmmonitor control commands coming in from the command port. More...

#include <WMMonitorBehavior.h>

Inheritance diagram for WMMonitorBehavior:

Detailed Description

Listens to wmmonitor control commands coming in from the command port.

Definition at line 26 of file WMMonitorBehavior.h.

List of all members.

Public Member Functions

 WMMonitorBehavior ()
 constructor
virtual ~WMMonitorBehavior ()
 destructor
void registerData (const std::string &s)
 processes input from the GUI
WMitem_basefind (std::string &s)
 Finds the item with the corresponding name.
void report (const std::string &var_type, const std::string &var_name, const std::string &value)
 Writes out the passed information to cmdsock.
void report (const std::string &var_type, const std::string &var_name, const char *value, int value_length)
 Writes out the passed information to cmdsock.
void report (const char *var_type, int var_type_length, const char *var_name, int var_name_length, const char *value, int value_length)
 Writes out the passed information to cmdsock.
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 unsigned int getPort () const
 returns network port from config
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).

Static Public Member Functions

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 Protected Member Functions

static void encodeHeader (char **dst, unsigned int pformat)
 writes packet type and timestamp
template<class T >
static void encode (char **dst, const T &value)
 writes value to dst and advances dst
template<class T >
static void encode (char **dst, const T *src, int num)
 writes length bytes from src to dst

Protected Attributes

Socketcmdsock
 The input command stream socket.

Static Protected Attributes

static const unsigned int packet_wmclass = 14

Private Member Functions

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

Constructor & Destructor Documentation

WMMonitorBehavior::WMMonitorBehavior ( const WMMonitorBehavior  )  [private]

don't call

WMMonitorBehavior::WMMonitorBehavior (  ) 

constructor

Definition at line 37 of file WMMonitorBehavior.h.

virtual WMMonitorBehavior::~WMMonitorBehavior (  )  [virtual]

destructor

Definition at line 42 of file WMMonitorBehavior.h.


Member Function Documentation

virtual void WMMonitorBehavior::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 89 of file WMMonitorBehavior.h.

virtual void WMMonitorBehavior::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 65 of file WMMonitorBehavior.h.

virtual void WMMonitorBehavior::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 79 of file WMMonitorBehavior.h.

template<class T >
static void WMMonitorBehavior::encode ( char **  dst,
const T *  src,
int  num 
) [static, protected]

writes length bytes from src to dst

Definition at line 127 of file WMMonitorBehavior.h.

template<class T >
static void WMMonitorBehavior::encode ( char **  dst,
const T &  value 
) [static, protected]

writes value to dst and advances dst

Definition at line 118 of file WMMonitorBehavior.h.

Referenced by encodeHeader(), and report().

static void WMMonitorBehavior::encodeHeader ( char **  dst,
unsigned int  pformat 
) [static, protected]

writes packet type and timestamp

Definition at line 112 of file WMMonitorBehavior.h.

Referenced by report().

WMitem_base * WMMonitorBehavior::find ( std::string &  s  ) 

Finds the item with the corresponding name.

Definition at line 63 of file WMMonitorBehavior.cc.

Referenced by registerData().

static std::string WMMonitorBehavior::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 102 of file WMMonitorBehavior.h.

Referenced by getDescription().

virtual std::string WMMonitorBehavior::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 107 of file WMMonitorBehavior.h.

virtual unsigned int WMMonitorBehavior::getPort (  )  const [virtual]

returns network port from config

Definition at line 100 of file WMMonitorBehavior.h.

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

don't call

void WMMonitorBehavior::registerData ( const std::string &  s  ) 

processes input from the GUI

Definition at line 10 of file WMMonitorBehavior.cc.

Referenced by wmmonitorcmd_callback().

void WMMonitorBehavior::report ( const char *  var_type,
int  var_type_length,
const char *  var_name,
int  var_name_length,
const char *  value,
int  value_length 
)

Writes out the passed information to cmdsock.

Definition at line 107 of file WMMonitorBehavior.cc.

void WMMonitorBehavior::report ( const std::string &  var_type,
const std::string &  var_name,
const char *  value,
int  value_length 
)

Writes out the passed information to cmdsock.

Definition at line 98 of file WMMonitorBehavior.cc.

void WMMonitorBehavior::report ( const std::string &  var_type,
const std::string &  var_name,
const std::string &  value 
)

Writes out the passed information to cmdsock.

Definition at line 89 of file WMMonitorBehavior.cc.

Referenced by doEvent(), registerData(), and report().


Member Data Documentation

The input command stream socket.

Definition at line 29 of file WMMonitorBehavior.h.

Referenced by doStart(), doStop(), and report().

const unsigned int WMMonitorBehavior::packet_wmclass = 14 [static, protected]

magic id number, corresponds to Listener.java PACKET_WMCLASS

Definition at line 110 of file WMMonitorBehavior.h.

Referenced by report().


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

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