- Reworked the connection object and the IO system
- Reworked the support for TRICS - Added a second generation motor
This commit is contained in:
32
status.c
32
status.c
@@ -184,8 +184,7 @@
|
||||
return 1;
|
||||
}
|
||||
/*------------------- The CallBack function for interest ------------------*/
|
||||
static int StatusCallback(int iEvent, void *pEvent, void *pUser,
|
||||
commandContext cc)
|
||||
static int StatusCallback(int iEvent, void *pEvent, void *pUser)
|
||||
{
|
||||
SConnection *pCon;
|
||||
char pBueffel[80];
|
||||
@@ -193,16 +192,17 @@
|
||||
assert(pUser);
|
||||
|
||||
pCon = (SConnection *)pUser;
|
||||
|
||||
if(pCon == NULL || !SCisConnected(pCon))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
sprintf(pBueffel,"status = %s", pText[(int)eCode]);
|
||||
SCPushContext2(pCon,cc);
|
||||
SCWrite(pCon,pBueffel,eWarning);
|
||||
SCPopContext(pCon);
|
||||
SCWrite(pCon,pBueffel,eLog);
|
||||
return 1;
|
||||
}
|
||||
/*------------------- The CallBack function for interest ------------------*/
|
||||
static int StatusHDBCallback(int iEvent, void *pEvent, void *pUser,
|
||||
commandContext cc)
|
||||
static int StatusHDBCallback(int iEvent, void *pEvent, void *pUser)
|
||||
{
|
||||
pHdb node = NULL;
|
||||
hdbValue v;
|
||||
@@ -210,7 +210,7 @@
|
||||
assert(pUser);
|
||||
|
||||
node = (pHdb)pUser;
|
||||
v = MakeHdbText(strdup(pText[eCode]));
|
||||
v = MakeHdbText(pText[eCode]);
|
||||
if(node != NULL && iEvent == VALUECHANGE){
|
||||
UpdateHipadabaPar(node,v,NULL);
|
||||
}
|
||||
@@ -239,10 +239,9 @@
|
||||
strtolower(argv[1]);
|
||||
if(strcmp(argv[1],"interest") == 0)
|
||||
{
|
||||
lID = RegisterCallback(pCall, SCGetContext(pCon),
|
||||
lID = RegisterCallback(pCall,
|
||||
VALUECHANGE, StatusCallback,
|
||||
pCon, NULL);
|
||||
SCRegister(pCon,pSics, pCall,lID);
|
||||
SCCopyConnection(pCon), SCDeleteConnection);
|
||||
SCSendOK(pCon);
|
||||
return 1;
|
||||
}
|
||||
@@ -251,11 +250,10 @@
|
||||
if(argc > 2){
|
||||
node = GetHipadabaNode(GetHipadabaRoot(),argv[2]);
|
||||
if(node != NULL){
|
||||
lID = RegisterCallback(pCall, SCGetContext(pCon),
|
||||
lID = RegisterCallback(pCall,
|
||||
VALUECHANGE, StatusHDBCallback,
|
||||
node, NULL);
|
||||
/* SCRegister(pCon,pSics, pCall,lID); */
|
||||
SCSendOK(pCon);
|
||||
SCSendOK(pCon);
|
||||
return 1;
|
||||
} else {
|
||||
SCWrite(pCon,"ERROR: Hipadaba node not found",eError);
|
||||
@@ -333,7 +331,7 @@
|
||||
}
|
||||
|
||||
/* check if the connection is dead at all */
|
||||
if(pCon->pSock)
|
||||
if(pCon->sockHandle < 0)
|
||||
{
|
||||
SCWrite(pCon,
|
||||
"GOTCHA!!! Control still lives! You CANNOT grab it! FUCK OFF",
|
||||
@@ -342,6 +340,6 @@
|
||||
}
|
||||
|
||||
/* now the wizardry */
|
||||
pOwner->pSock = pCon->pSock;
|
||||
pOwner->sockHandle = pCon->sockHandle;
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user