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