|
Public Member Functions |
|
| EchoBehavior () |
| | constructor
|
|
| ~EchoBehavior () |
| | destructor
|
|
virtual void | DoStart () |
| | By default, merely adds to the reference counter (through AddReference()); Note you should still call this from your overriding methods.
|
|
virtual void | DoStop () |
| | By default, subtracts from the reference counter (RemoveReference()), and thus may deletex if zero; Don't forget to still call this when you override this; Warning: call this at the end of your DoStop(), not beginning (it might delete this ).
|
|
virtual void | processEvent (const EventBase &e) |
| | By defining here, allows you to get away with not supplying a processEvent() function for the EventListener interface. By default, does nothing.
|
| 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 int | server_callbackT (char *buf, int bytes) |
| | called by wireless when there's new data
|
|
static int | client_callbackT (char *buf, int bytes) |
| | called by wireless when there's new data
|
|
static int | server_callbackU (char *buf, int bytes) |
| | called by wireless when there's new data
|
|
static int | client_callbackU (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 EchoBehavior * | theOne = NULL |
| | the singleton object (only one of these objects can be active at a time or they would conflict over ports)
|
|
static unsigned short | port = 11011 |
| | the port to listen on for incoming UDP and TCP connections
|
Protected Types |
| | STCP = 0 |
| | server TCP
|
| | SUDP |
| | server UDP
|
| | CTCP |
| | client TCP
|
| | CUDP |
| | client UDP
|
| | NUM_ROUTE |
| | total number of different connections available
|
| enum | routeIndex_t {
STCP = 0,
SUDP,
CTCP,
CUDP,
NUM_ROUTE
} |
| | indicates one of the available data sinks: combinations of client/server and TCP/UDP More...
|
Protected Member Functions |
|
void | setupNetwork () |
| | initialize server ports
|
|
void | teardownNetwork () |
| | close open connections
|
|
void | processCallback (routeIndex_t src, char *buf, int bytes) |
| | called by one of the wireless callbacks to do processing
|
|
void | intersect (unsigned char &bits, std::string arg) |
| | unsets bits of bits which aren't represented by arg
|
Protected Attributes |
|
Socket * | sockets [NUM_ROUTE] |
| | an array of sockets, one for each incoming or outgoing route
|
|
int | socks [NUM_ROUTE] |
| | the system socket number for each of sockets, used to detect when a socket has been closed
|
|
bool | route [NUM_ROUTE][NUM_ROUTE] |
| | a table of bools indicating how data should be echoed -- if route[from][to] is set, route it
|
Static Protected Attributes |
| static const char *const | routeNames [NUM_ROUTE] |
| | a user-readable name for each incoming or outgoing route
|
Private Member Functions |
|
| EchoBehavior (const EchoBehavior &) |
| | don't call (copy constructor)
|
|
EchoBehavior & | operator= (const EchoBehavior &) |
| | don't call (assignment operator)
|
| static std::string EchoBehavior::getClassDescription |
( |
|
) |
[inline, 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 37 of file EchoBehavior.h.
Referenced by getDescription().
| virtual std::string EchoBehavior::getDescription |
( |
|
) |
const [inline, 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 42 of file EchoBehavior.h.