- SCStore store now also context and macro state
This commit is contained in:
17
remob.c
17
remob.c
@ -261,9 +261,10 @@ static int RemServerTask(void *data) {
|
||||
|
||||
if (remserver->forwardMessages) {
|
||||
/* forward all other messages */
|
||||
pCon = SCLoad(&remserver->conn);
|
||||
if (pCon) {
|
||||
if (SCStoreConnected(remserver->conn)) {
|
||||
pCon = SCStorePush(remserver->conn);
|
||||
RemCopy(rc, pCon);
|
||||
SCStorePop(remserver->conn);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -397,7 +398,7 @@ static float RemobGetValue(void *pData, SConnection *pCon) {
|
||||
|
||||
assert(remob);
|
||||
|
||||
SCSave(&remserver->conn, pCon);
|
||||
remserver->conn = SCSave(pCon, remserver->conn);
|
||||
none = -1.25e6;
|
||||
value= none;
|
||||
snprintf(buf, sizeof(buf), "<%s", remob->name);
|
||||
@ -448,7 +449,7 @@ static int RemobStatus(void *pData, SConnection *pCon) {
|
||||
|
||||
assert(remob);
|
||||
|
||||
SCSave(&remob->server->conn, pCon);
|
||||
remob->server->conn = SCSave(pCon, remob->server->conn);
|
||||
return remob->status;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
@ -467,7 +468,7 @@ static long RemobRun(void *self, SConnection *pCon, float fNew) {
|
||||
int nChan;
|
||||
|
||||
remserver = remob->server;
|
||||
SCSave(&remserver->conn, pCon);
|
||||
remserver->conn = SCSave(pCon, remserver->conn);
|
||||
assert(remob);
|
||||
assert(pCon);
|
||||
|
||||
@ -563,7 +564,7 @@ int RemobAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
nChan = (rights <= usUser);
|
||||
rc = &remserver->rc[nChan];
|
||||
if (rights >= usUser) {
|
||||
SCSave(&remserver->conn, pCon);
|
||||
remserver->conn = SCSave(pCon, remserver->conn);
|
||||
}
|
||||
if (argc == 1) {
|
||||
iRet = RemTransact(remserver, nChan, pCon, remob->name, ">", NULL);
|
||||
@ -655,7 +656,7 @@ int RemServerAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
nChan = (rights <= usUser);
|
||||
rc = &remserver->rc[nChan];
|
||||
if (nChan) {
|
||||
SCSave(&remserver->conn, pCon);
|
||||
remserver->conn = SCSave(pCon, remserver->conn);
|
||||
}
|
||||
if (argc == 1) {
|
||||
serverport = IFindOption(pSICSOptions,"ServerPort");
|
||||
@ -733,6 +734,7 @@ static void RemServerKill(void *self) {
|
||||
DeleteDescriptor(remserver->desc);
|
||||
if (remserver->name) free(remserver->name);
|
||||
if (remserver->host) free(remserver->host);
|
||||
SCStoreFree(remserver->conn);
|
||||
free(remserver);
|
||||
}
|
||||
/*-----------------------------------------------------------------------*/
|
||||
@ -833,6 +835,7 @@ static RemServer *RemServerInit(char *name, char *host, int port) {
|
||||
rc->timeout = 0;
|
||||
}
|
||||
remserver->objList = NULL;
|
||||
remserver->conn = NULL;
|
||||
if (!remserver->name ||
|
||||
!remserver->host ||
|
||||
!remserver->port) {
|
||||
|
Reference in New Issue
Block a user