- SCStore store now also context and macro state

This commit is contained in:
zolliker
2008-01-18 07:27:23 +00:00
parent 17ba72418f
commit 3a0b2e21be

17
remob.c
View File

@ -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) {