AURobotServers
4
|
#include <uresrhdif.h>
Public Member Functions | |
const char * | getHost () |
int | getPort () |
bool | isConnected () |
bool | isWriteGranted () |
bool | isWriteRequested () |
void | run () |
void | setHost (const char *hostName) |
void | setPort (int port) |
void | setWriteable (bool value) |
bool | tryConnect (bool aConnect, bool keep) |
UResRhdIf () | |
void | UResRhdIfInit () |
virtual | ~UResRhdIf () |
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 () |
virtual bool | gotAllResources (char *missingThese, int missingTheseCnt) |
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) |
virtual const char * | print (const char *preString, char *buff, int buffCnt) |
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) |
virtual bool | setResource (UResBase *resource, bool remove) |
void | setVarPool (UVarCalc *sharedVarPool) |
int | updateQTvars (int structIdx) |
UResVarPool () | |
virtual | ~UResVarPool () |
Public Member Functions inherited from UResBase | |
void | createReplayVar (UVarPool *pool) |
virtual void | createResources () |
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 | print (const char *preString) |
virtual void | saveSettings () |
void | setCorePointer (UCmdExe *serverCore) |
void | setResFuncIdx (int idx) |
virtual void | setResID (const char *id, const int version) |
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 () |
Public Member Functions inherited from UServerPush | |
int | addPushCommand (UServerInMsg *msg) |
virtual void | callGotNewDataWithObject () |
bool | doPushCall (UServerPushElement *pe, const char *value) |
void | flushClientCmds (int clientIdx) |
UServerPushImplement * | getImplementor () |
int | getPushCmdCnt (int *cmdCnt, int *callCnt) |
UServerPushQueue * | getPushQueue () |
bool | gotCmdExe () |
void | gotNewData (void *pData) |
bool | isUpdated (int lastCnt, int *newCnt) |
bool | needNewData () |
void | print (const char *preString) |
void | print (const char *preString, char *buff, int buffCnt) |
void | servicePendingPushCmds () |
void | setCmdExe (UServerPushImplement *executor) |
void | setImplementor (UServerPushImplement *executor) |
bool | setResource (UResBase *resource, bool remove) |
bool | setUpdated (const char *value) |
Add watch object if needed. An image or other object is updated. set object as updated, with an extra qualifier, that may be used as a parameter in a push call. this push list is then added to the to the push list examined by the server thread. when server thread reach this push list it will call to get a possible associated data structure by a call to needNewData() whish is expected to call gotNewData(void * data_structure) - but now in the server thread. More... | |
UServerPush () | |
virtual | ~UServerPush () |
Public Attributes | |
bool | verbose |
Public Attributes inherited from UReplay | |
bool | replayTimeAdvancePending |
UTime | replayTimeNow |
Protected Member Functions | |
void | createBaseVar () |
bool | start () |
void | stop (bool andWait) |
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 | |
int | keepsCnt |
Number of keeps allocated. More... | |
pthread_t | threadHandle |
bool | threadRunning |
bool | threadStop |
UVariable * | varConnected |
is RHD connected */ More... | |
UVariable * | varHost |
current host name More... | |
UVariable * | varKeep |
should connection be reestablished if not connected More... | |
UVariable * | varPort |
current port number More... | |
UVariable * | vars [MAX_VARS_CNT] |
array of variables for RHD variables More... | |
UVariable * | varSampleTime |
sample time of the RHD More... | |
int | varsCnt |
UVariable * | varWriteAccess |
UVariable * | varWriteGranted |
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 |
Static Protected Attributes | |
static const int | MAX_VARS_CNT = 500 |
max number of RHD variables More... | |
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... | |
Additional Inherited Members | |
Static Public Member Functions inherited from UResVarPool | |
static const char * | getResClassID () |
This is the shared resource class. It must enherit from the resource base class (or one of its decendents) as shown.
|
inline |
Constructor
References UResBase::setResID(), UResRhdIfInit(), and ~UResRhdIf().
|
virtual |
|
protected |
Make the variables that will be available to other plugins
References UResVarPool::addVar(), UResVarPool::getVarPool(), varConnected, varHost, varKeep, varPort, varSampleTime, varWriteAccess, and varWriteGranted.
Referenced by isWriteGranted(), and UResRhdIfInit().
|
inline |
Get current host name
References UVariable::getValues(), and varHost.
Referenced by UFuncRhdIf::handleRhd().
|
inline |
Get current port number
References UVariable::getInt(), and varPort.
Referenced by UFuncRhdIf::handleRhd().
|
inline |
Is RDH connected
References UVariable::getBool(), tryConnect(), and varConnected.
Referenced by UFuncRhdIf::handleRhd(), and tryConnect().
|
inline |
is write request granted.
References createBaseVar(), UVariable::getBool(), start(), stop(), and varWriteGranted.
Referenced by UFuncRhdIf::handleRhd().
|
inline |
is write request flag (for next connect) set - not the same as write granted.
References UVariable::getBool(), and varWriteAccess.
Referenced by UFuncRhdIf::handleRhd().
void UResRhdIf::run | ( | ) |
Run the reed loop to maintain data from RHD Is called from a C function, and therefore public
References UResVarPool::addVar(), UVariable::getBool(), UVariable::getElementCnt(), UVariable::getInt(), UTime::getTimePassed(), MAX_VARS_CNT, maxi(), mini(), UTime::now(), UVariable::setBool(), UVariable::setDouble(), UVariable::setInt(), threadRunning, threadStop, tryConnect(), varConnected, varKeep, vars, varSampleTime, varsCnt, varWriteGranted, and Wait().
Referenced by setPort(), and startRhdLoopThread().
|
inline |
Set host name
hostName | is a c-string with new host name |
References UVariable::setValues(), and varHost.
Referenced by UFuncRhdIf::handleRhd().
|
inline |
Set host name
hostName | is a c-string with new host name |
References run(), UVariable::setInt(), and varPort.
Referenced by UFuncRhdIf::handleRhd().
|
inline |
Set write request flag (for next connect)
value | if true, then a write request will be made. |
References UVariable::setBool(), and varWriteAccess.
Referenced by UFuncRhdIf::handleRhd().
|
protected |
Start read thread
References startRhdLoopThread(), threadHandle, threadRunning, and threadStop.
Referenced by isWriteGranted(), and UResRhdIfInit().
|
protectedvirtual |
Stop read thread - and wait for thread join
andWait | wait for thread to finish (ignored, waits always) |
Reimplemented from UResBase.
References threadHandle, threadRunning, and threadStop.
Referenced by isWriteGranted(), and ~UResRhdIf().
bool UResRhdIf::tryConnect | ( | bool | aConnect, |
bool | keep | ||
) |
Connect or stop connection to RHD
value | if true, try to connect, if connected already, then do nothing |
value | if false, then stop connection (hang-up) if not already stopped. |
keep | try to reconnect if connection is lost |
References UVariable::getBool(), UVariable::getInt(), UVariable::getValues(), isConnected(), UVariable::setBool(), UServerPush::setUpdated(), varConnected, varHost, varKeep, varPort, varWriteAccess, and varWriteGranted.
Referenced by UFuncRhdIf::handleRhd(), isConnected(), run(), and ~UResRhdIf().
void UResRhdIf::UResRhdIfInit | ( | ) |
Initialize resource
References createBaseVar(), MAX_VARS_CNT, start(), threadRunning, vars, varsCnt, and verbose.
Referenced by UResRhdIf().
|
protected |
Number of keeps allocated.
|
staticprotected |
max number of RHD variables
Referenced by run(), and UResRhdIfInit().
|
protected |
|
protected |
Is thread actually running
Referenced by run(), start(), stop(), and UResRhdIfInit().
|
protected |
|
protected |
is RHD connected */
Referenced by createBaseVar(), isConnected(), run(), and tryConnect().
|
protected |
current host name
Referenced by createBaseVar(), getHost(), setHost(), and tryConnect().
|
protected |
should connection be reestablished if not connected
Referenced by createBaseVar(), run(), and tryConnect().
|
protected |
current port number
Referenced by createBaseVar(), getPort(), setPort(), and tryConnect().
|
protected |
array of variables for RHD variables
Referenced by run(), and UResRhdIfInit().
|
protected |
sample time of the RHD
Referenced by createBaseVar(), and run().
|
protected |
number of used pointers in varRHD
Referenced by run(), and UResRhdIfInit().
|
protected |
Referenced by createBaseVar(), isWriteRequested(), setWriteable(), and tryConnect().
|
protected |
Referenced by createBaseVar(), isWriteGranted(), run(), and tryConnect().
bool UResRhdIf::verbose |
Is the resource to output verbose message to console
Referenced by UResRhdIfInit().