AURobotServers
4
|
#include <upush.h>
Public Member Functions | |
int | addPushCommand (UServerInMsg *msg) |
void | flushClientCmds (int clientIdx) |
virtual void | pushEvent (void *pushObject) |
void | setCmdExe (UCmdExe *executor) |
UPush () | |
virtual | ~UPush () |
Public Member Functions inherited from UServerPushQueue | |
UServerPushElement * | get (int index) |
UServerPushElement * | getFreeQueueElement () |
UTime | getNextExeTime () |
UServerPushElement * | getNextTimedPushElement () |
int | getPushCmdActiveCnt (int *cmdCnt, int *callCnt) |
int | getPushCmdCnt () |
void | print (const char *preString) |
void | print (const char *preString, char *buff, int buffCnt) |
int | systemQueueflush (const int client, const char *attValue) |
UServerPushQueue () | |
Protected Attributes | |
UCmdExe * | cmdExe |
Additional Inherited Members | |
Static Public Member Functions inherited from UServerPushQueue | |
static bool | doPushCall (UVarPool *vp, UServerPushElement *pe, const char *value) |
Functions to add, delete and use a push queue
UPush::UPush | ( | ) |
Constructor
|
virtual |
Destructor
int UPush::addPushCommand | ( | UServerInMsg * | msg | ) |
Add a push command. A push commands get triggered by a call to pushEvent(pushObj). Returns
References UServerPushElement::activeCall, UServerPushElement::activeCmd, UServerPushElement::clear(), UServerInMsg::client, cmdExe, UServerPushElement::countGoodTarget, UServerPushElement::countTotalTarget, UServerPushElement::functionIndex, UServerPushQueue::getFreeQueueElement(), UServerPushImplement::getFunctionOwner(), USmlTagIn::getNextAttribute(), UServerPushElement::interval, MAX_MESSAGE_LENGTH_TO_CAM, MAX_SML_NAME_LENGTH, UServerPushElement::nextExeTime, UTime::Now(), UServerPushQueue::pushCmd, USmlTagIn::reset(), UServerInMsg::serverPushCommand, UServerPushElement::setCall(), UServerInMsg::setMessage(), UServerPushQueue::systemQueueflush(), UServerInMsg::tag, and UServerPushElement::toDo.
Referenced by setCmdExe().
void UPush::flushClientCmds | ( | int | clientIdx | ) |
Flush all pending commands from this client
References UServerPushQueue::systemQueueflush().
Referenced by setCmdExe().
|
virtual |
A new image is received. NB! is called by some function, when push commands arer to be send (evaluated).
References UServerPushElement::activeCmd, UServerInMsg::client, cmdExe, UCmdExe::executeFunction(), UServerPushElement::functionIndex, UServerPushQueue::getPushCmdCnt(), UCmdExe::isClientAlive(), UServerPushElement::toDo, and UServerPushElement::update().
|
inline |
Set command executor reference for camera push functions
References addPushCommand(), cmdExe, and flushClientCmds().
|
protected |
Pointer to push server queue
Referenced by addPushCommand(), pushEvent(), and setCmdExe().