AURobotServers
4
|
#include <ufunctionlaserif.h>
Public Member Functions | |
bool | dataTrap (USmlTag *tag) |
virtual bool | handleCommand (UServerInMsg *msg, void *extra) |
virtual const char * | print (const char *preString, char *buff, int buffCnt) |
virtual bool | setResource (UResBase *resource, bool remove) |
UFunctionLaserIfData () | |
virtual | ~UFunctionLaserIfData () |
Public Member Functions inherited from UFuncPlugBase | |
UFuncPlugBase () | |
virtual | ~UFuncPlugBase () |
Public Member Functions inherited from UFunctionBase | |
bool | addResource (UResBase *resource, UFunctionBase *owner) |
void | closeLogfile () |
virtual const char * | commandList () |
virtual void | createResources () |
const char * | getAliasName () |
const char * | getLoadedFileName () |
void * | getLoadedModuleRef () |
virtual bool | gotAllResources (char *missingThese, int missingTheseCnt) |
bool | isMine (const char *cmdName) |
bool | isStatic () |
is the module loaded as static A module is static if the ldFilename has a length of zero. More... | |
virtual const char * | name () |
bool | newCmd (UServerInMsg *newMsg, UDataBase *extra) |
bool | newCommand (UServerInMsg *newMsg, void *extra) |
bool | openLogfile (const char *name) |
void | print (const char *preString) |
virtual void | resourceUpdated () |
bool | sendEndTag (UServerInMsg *msg) |
bool | sendEndTag () |
bool | sendFullTag (const char *attributes) |
bool | sendHelpDone (UServerInMsg *msg) |
bool | sendHelpDone () |
bool | sendHelpStart (UServerInMsg *msg, const char *subject) |
bool | sendHelpStart (const char *subject) |
bool | sendHelpStart () |
bool | sendMsg (UServerInMsg *msg, const char *message, int size) |
bool | sendMsg (const char *message) |
bool | sendMsg (UServerInMsg *msg, const char *message) |
bool | sendMsg (int clientIdx, const char *message, int size) |
bool | sendMsgInt (int clientIdx, const char *message) |
bool | sendStartTag (const char *attributes) |
bool | sendText (UServerInMsg *msg, const char *text) |
bool | sendText (const char *text) |
virtual void | setAliasName (const char *name) |
virtual void | setCommand (const char *cmdList, const char *name, const char *note) |
void | setLoadedModuleRef (void *module, const char *moduleFileName) |
virtual void | setLoadTime (UTime) |
void | setName (const char *name) |
void | setVerbose (bool value) |
UFunctionBase () | |
virtual | ~UFunctionBase () |
Public Member Functions inherited from UCallBack | |
bool | addOnEvent (UOnEvent *dataObject) |
virtual bool | onEvent (const char *interface, const char *dataType, void *data) |
UCallBack () | |
virtual | ~UCallBack () |
Public Member Functions inherited from UResVarPool | |
int | addMethod (const char *formalName, const char *paramTypes, const char *comment) |
int | addMethodV (const char *formalName, const char *paramTypes, const char *comment) |
UVarPool * | addStruct (const char *name, const char *comment, bool copy=false) |
UVariable * | addVar (const char *name, const double initialValue, const char *type, const char *comment) |
UVariable * | addVar (const char *name, const char *initialValue, const char *type, const char *comment) |
UVariable * | addVarA (const char *name, const char *initialValue, const char *type, const char *comment) |
bool | callGlobal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt) |
bool | callGlobalV (const char *name, const char *paramOrder, UVariable **params, UDataBase **returnStruct, int *returnStructCnt) |
Call a method from the root var pool scope It may be in the structure direct (no '.') or in any sub-structure that the 'name.subname' indicate. More... | |
bool | callLocal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt) |
bool | callVS (const char *function, const char *stringParam) |
int | callVSCD (const char *function, const char *strPar, UDataBase *data, int cooSys) |
void | createBaseVar () |
virtual bool | createVarSpace (const int varCnt, const int structCnt, const int methCnt, const char *note, bool copy=false) |
bool | getGlobalString (const char *name, const char **value) |
bool | getGlobalValue (const char *name, double *value) |
bool | getGlobalValue (const char *name, const char **value) |
bool | getGlobalValue (const char *name, bool *value) |
bool | getGlobalValue (const char *name, UTime *value) |
bool | getLocalValue (const char *name, double *value) |
get a value in this variable tree More... | |
bool | getLocalValue (const char *name, bool *value) |
bool | getLocalValue (const char *name, UTime *value) |
double | getLocalValue (int idx) |
UPosition | getLocalValue3D (int idx) |
UPosRot | getLocalValue6D (int idx) |
bool | getLocalValueBool (int idx) |
int | getLocalValueInt (int idx) |
UTime | getLocalValueTime (int idx) |
const char * | getLogFileName () |
const char * | getVarDescription (int idx) |
UVarCalc * | getVarPool () |
bool | isLogFileOpen () |
bool | isLogFileOpen (const char *structName) |
bool | isVarPoolUpdated (int lastCnt, int *newCnt) |
void | logFileClose () |
bool | logFileOpen () |
void | logFileStart (const char *structName, bool open) |
virtual bool | methodCall (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct=NULL, int *returnStructCnt=NULL) |
bool | setGlobalVar (const char *name, const double value, bool mayAdd) |
Assigns a value to a variable. The variable may be a part of a structure. More... | |
bool | setLocalVar (int idx, double value, const int element) |
bool | setLocalVar (const char *name, const double value, bool mayAdd) |
Assigns a value to a variable. The variable may be a part of a structure. More... | |
bool | setLocalVar3D (int idx, UPosition *value) |
bool | setLocalVar6D (int idx, UPosRot *value) |
bool | setLocalVarAdd (int idx, double value, const int element) |
bool | setLocalVarPose (int idx, UPose *value) |
void | setVarPool (UVarCalc *sharedVarPool) |
int | updateQTvars (int structIdx) |
UResVarPool () | |
virtual | ~UResVarPool () |
Public Member Functions inherited from UResBase | |
void | createReplayVar (UVarPool *pool) |
UCmdExe * | getCorePointer () |
char * | getLogFileName (char *fn, const int fnCnt) |
int | getResFuncIdx () |
const char * | getResID () |
int | getResVersion () |
bool | isA (const char *idStr) |
bool | isAlsoA (const char *id) |
virtual void | saveSettings () |
void | setCorePointer (UCmdExe *serverCore) |
void | setResFuncIdx (int idx) |
virtual void | setResID (const char *id, const int version) |
virtual void | stop (bool) |
virtual void | updateReplayStatus () |
UResBase () | |
virtual | ~UResBase () |
Public Member Functions inherited from UReplay | |
void | addChild (UReplay *child) |
virtual bool | decodeReplayLine (char *) |
char * | getLogFileName (char *fn, const int fnCnt) |
char * | getReplayFileName (char *fn, const int fnCnt) |
int | getReplayLogLine () |
bool | isReplay () |
bool | isReplayFileOpen () |
void | removeChild (UReplay *child) |
virtual void | replayAdvanceTime (UTime untilTime) |
void | replaySetBaseFileName (const char *name, const char *preName="") |
void | replaySetFileName (const char *name) |
virtual bool | replayStep () |
int | replayStep (int steps) |
virtual bool | replayToTime (UTime untilTime) |
void | setParent (UReplay *parent) |
bool | setReplay (bool value) |
UReplay () | |
virtual | ~UReplay () |
Public Member Functions inherited from ULock | |
bool | lock () |
void | lockInit () |
void | post () |
bool | tryLock () |
bool | tryWait () |
ULock () | |
void | unlock () |
bool | wait () |
~ULock () | |
Public Member Functions inherited from UVarMethodImplement | |
virtual bool | methodCallV (const char *name, const char *paramOrder, UVariable *params[], UDataBase **returnStruct, int *returnStructCnt) |
virtual | ~UVarMethodImplement () |
Protected Member Functions | |
bool | handleLaserIf (UServerInMsg *msg) |
bool | handleLaserObst (UServerInMsg *msg) |
Protected Member Functions inherited from UFunctionBase | |
int | getCmdIndex () |
UResBase * | getStaticResource (const char *resName, bool mayCreate, bool staticOnly=true) |
get a pointer to a static resource. More... | |
bool | isClientAlive (int clientIdx, double holdOffTime) |
bool | sendDebug (UServerInMsg *msg, const char *debugText) |
bool | sendDebug (const char *debugText) |
bool | sendError (UServerInMsg *msg, const char *errorText) |
bool | sendError (const char *errorText) |
bool | sendHelp (UServerInMsg *msg, const char *infoText) |
bool | sendHelp (const char *infoText) |
bool | sendInfo (UServerInMsg *msg, const char *infoText) |
bool | sendInfo (const char *infoText) |
bool | sendWarning (UServerInMsg *msg, const char *warningText) |
bool | sendWarning (const char *warningText) |
UResBase * | setThisResource (const char *ID, UResBase *resource, bool remove, bool *changed, UResBase *currentResPtr, bool *isLocal) |
Protected Member Functions inherited from UResVarPool | |
void | setDescription (const char *note, bool copy=false) |
Protected Member Functions inherited from UResBase | |
UResBase * | getStaticResource (const char *resName, bool mayCreate, bool staticOnly=true) |
get a pointer to a static resource. More... | |
Protected Attributes | |
UResNavIfMan * | ifMan |
bool | ifManLocal |
UResLaserIfObst * | ifObst |
bool | ifObstLocal |
UResLaserIfRoad * | ifRoad |
bool | ifRoadLocal |
UResLaserIfSf * | ifSf |
bool | ifSfLocal |
Protected Attributes inherited from UFunctionBase | |
char | aliasName [MAX_ID_LENGTH] |
UCmdExe * | cmdHandler |
char * | cmdToks [20] |
int | cmdToksCnt |
char | commandsHandled [MAX_RESOURCE_LIST_SIZE] |
UServerInMsg * | msg |
char | pluginName [MAX_RESOURCE_LIST_SIZE] |
bool | verboseMessages |
Protected Attributes inherited from UResBase | |
int | resFuncIdx |
char | resID [MAX_RESOURCE_ID_LENGTH] |
char | resIsAlso [MAX_RESOURCE_ISALSO_LENGTH] |
int | resVersion |
Protected Attributes inherited from UReplay | |
bool | replay |
FILE * | replayFile |
char | replayFileName [REPLAY_FILE_NAME_LENGTH] |
replay filename More... | |
char | replayLine [MAX_LOG_LINE_LENGTH] |
int | replayLogLine |
UReplay * | replayParent |
UTime | replayTimeNext |
Private Attributes | |
int | dataTrapClient |
unsigned int | dataTrapSerial |
unsigned int | dataTrapSerialHelp |
char | resList [MAX_RESOURCE_LIST_SIZE] |
Static Private Attributes | |
static const int | MAX_RESOURCE_LIST_SIZE = 100 |
Additional Inherited Members | |
Static Public Member Functions inherited from UResVarPool | |
static const char * | getResClassID () |
Public Attributes inherited from UFunctionBase | |
bool | silent |
is reply to client and console to be limited More... | |
Public Attributes inherited from UReplay | |
bool | replayTimeAdvancePending |
UTime | replayTimeNow |
Static Public Attributes inherited from UFunctionBase | |
static const int | MAX_ID_LENGTH = 30 |
static const int | MAX_RESOURCE_LIST_SIZE = 250 |
Static Protected Attributes inherited from UReplay | |
static const int | MAX_LOG_LINE_LENGTH = 10000 |
static const int | REPLAY_FILE_NAME_LENGTH = 264 |
max length of replay filename More... | |
Example plugin that demonstrates a plogin that provides a resource. A similar example plugin is available that uses the shared resource.
The shared resource provides the simple functionality in the form of a line. The resource provides functions to calculate the length of the line.
UFunctionLaserIfData::UFunctionLaserIfData | ( | ) |
Constructor
References ifMan, ifManLocal, ifObst, ifObstLocal, ifRoad, ifRoadLocal, ifSf, ifSfLocal, resList, and UFunctionBase::setCommand().
|
virtual |
Destructor
References ifMan, ifManLocal, ifObst, ifObstLocal, ifRoad, ifRoadLocal, ifSf, and ifSfLocal.
bool UFunctionLaserIfData::dataTrap | ( | USmlTag * | tag | ) |
Data that should be transferred to a client directly is received
|
virtual |
This function is called by the server core, when it needs a resource provided by this plugin. Return a pointer to a resource with an ID taht matches this 'resID' ID string. The string match should be case sensitive. Returns false if the resource faled to be created (e.g. no memory space). return true if all ressources is available Handle incomming command (intended for command separation) Must return true if the function is handled - otherwise the client will get a failed - reply
Reimplemented from UFunctionBase.
References handleLaserIf(), handleLaserObst(), USmlTagIn::isTagA(), UFunctionBase::sendDebug(), and UServerInMsg::tag.
|
protected |
Add a data handler resource to the interface client handle commands to laserdata
References UFunctionBase::addResource(), bool2str(), UResLaserIfSf::clear(), UResLaserIfObst::clear(), UResLaserIfRoad::clear(), UObstacleHist::getGroupsCnt(), USmlTagIn::getNext(), USmlTagIn::getNextAttribute(), UResLaserIfRoad::getRoadLinesCnt(), UFeaturePool::getScansCnt(), UResLaserIfSf::getSfPool(), USmlTagIn::getTagName(), ifMan, ifManLocal, ifObst, ifObstLocal, ifRoad, ifRoadLocal, ifSf, ifSfLocal, MAX_RESOURCE_ID_LENGTH, MAX_SML_NAME_LENGTH, UFunctionBase::sendInfo(), UFunctionBase::sendMsg(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), UClientFuncBase::setVerbose(), UResLaserIfObst::snprint(), UResLaserIfSf::snprint(), UResLaserIfRoad::snprint(), and UServerInMsg::tag.
Referenced by handleCommand().
|
protected |
handle commands to laserdata obstacles
References UFunctionBase::addResource(), bool2str(), UResLaserIfObst::clear(), USmlTagIn::getAttBool(), USmlTagIn::getAttInteger(), UObstacleHist::getGroupsCnt(), ULogFile::getLogFileName(), ifObst, ifObstLocal, ifRoad, ifSf, ULogFile::isOpen(), UResLaserIfObst::listGroup(), UResLaserIfObst::listGroups(), UResLaserIfObst::olog, UFunctionBase::sendHelpDone(), UFunctionBase::sendHelpStart(), UFunctionBase::sendInfo(), UFunctionBase::sendMsg(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), UResLaserIfObst::setLog(), UResLaserIfObst::snprint(), UResLaserIfSf::snprint(), UResLaserIfRoad::snprint(), and UServerInMsg::tag.
Referenced by handleCommand().
|
virtual |
print status to a string buffer
Reimplemented from UResVarPool.
References bool2str(), ifObst, ifRoad, and ifSf.
|
virtual |
List (space separated) of shared resources provided by this function. Must be an empty string if no resources are to be shared. Each resource ID must be no longer than 20 characters long. Create any resources that this modules needs and add these to the resource pool to be integrated in the global variable pool and method sharing. Called by the server core, when a new resource is available (or is removed), local pointers to the resource should be updated as appropriate.
Reimplemented from UFunctionBase.
References UResLaserIfObst::getResClassID(), UResLaserIfSf::getResClassID(), UResLaserIfRoad::getResClassID(), UResNavIfMan::getResClassID(), ifMan, ifManLocal, ifObst, ifObstLocal, ifRoad, ifRoadLocal, ifSf, ifSfLocal, UFunctionBase::setResource(), and UFunctionBase::setThisResource().
|
private |
Client number for trapped data
|
private |
Data trap serial number (0 is no data)
|
private |
Data trap serial number (0 is no data) for trap of help messages
|
protected |
Navigation path resource from navigation server
Referenced by handleLaserIf(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
protected |
Is the nav resource created locally
Referenced by handleLaserIf(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
protected |
Reference to interface connection for obstacle data
Referenced by handleLaserIf(), handleLaserObst(), print(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
protected |
Is interface ressource created locally by this function
Referenced by handleLaserIf(), handleLaserObst(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
protected |
Reference to interface connection for road line data
Referenced by handleLaserIf(), handleLaserObst(), print(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
protected |
Is interface ressource created locally by this function
Referenced by handleLaserIf(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
protected |
Reference to interface connection for obstacle data
Referenced by handleLaserIf(), handleLaserObst(), print(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
protected |
Is interface ressource created locally by this function
Referenced by handleLaserIf(), setResource(), UFunctionLaserIfData(), and ~UFunctionLaserIfData().
|
staticprivate |
|
private |
Ressource list provided
Referenced by UFunctionLaserIfData().