- Added SicsList
- Removed group and description attributes from ObjectDescriptor SKIPPED: psi/dornier2.c psi/libpsi.a psi/make_gen psi/makefile_linux psi/pimotor.c psi/pipiezo.c psi/psi.c psi/serial.c psi/sinqhttp.c psi/sinqhttp.h psi/tcpdornier.c psi/velodornier.c
This commit is contained in:
26
sinfox.c
26
sinfox.c
@@ -8,6 +8,7 @@
|
||||
#include <assert.h>
|
||||
#include <conman.h>
|
||||
#include <obdes.h>
|
||||
#include <ctype.h>
|
||||
#include <sics.h>
|
||||
#include <sicsvar.h>
|
||||
#include <conman.h> /* incl. SCWrite */
|
||||
@@ -100,8 +101,6 @@ pSinfox CreateSinfox(void)
|
||||
"::server::instrument",TCL_GLOBAL_ONLY);
|
||||
pNew->schemaVersion = Tcl_GetVar(tTcl,
|
||||
"::server::schemaVersion",TCL_GLOBAL_ONLY);
|
||||
pNew->pDes->description = NULL;
|
||||
pNew->pDes->group = NULL;
|
||||
pNew->pDes->pKeys = NULL;
|
||||
return pNew;
|
||||
}
|
||||
@@ -297,6 +296,7 @@ static int SinfoxGetGrp(pSinfox pSin, SicsInterp *pSics,
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
/*------------------------------------------------------------------------*/
|
||||
static int SinfoxSetKey(pSinfox pSin, SicsInterp *pSics,
|
||||
@@ -412,6 +412,7 @@ static int SinfoxReadKey(pSinfox pSin, SicsInterp *pSics,
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
@@ -503,6 +504,7 @@ static int SinfoxList(pSinfox pSin, SicsInterp* pSics, SConnection *pCon,
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
@@ -518,7 +520,7 @@ static int SinfoxEnumerate(pSinfox pSin, SicsInterp* pSics,
|
||||
IPair *pGroups = NULL;
|
||||
pSicsVariable pSVar = NULL;
|
||||
int iRet;
|
||||
char pBuf[256];
|
||||
char pBuf[256], *pPtr = NULL;
|
||||
int checkDeviceTypes[iNumDeviceTypes];
|
||||
|
||||
pCurrent = pSics->pCList;
|
||||
@@ -632,9 +634,9 @@ static int SinfoxEnumerate(pSinfox pSin, SicsInterp* pSics,
|
||||
if(1==isObjectDevice(pCurrent))
|
||||
{
|
||||
pDes = FindDescriptor(pCurrent->pData);
|
||||
if(NULL != pDes->group)
|
||||
if((pPtr = IFindOption(pDes->pKeys,"group")) != NULL)
|
||||
{
|
||||
strcpy(pBuf,pDes->group);
|
||||
strcpy(pBuf,pPtr);
|
||||
strtolower(pBuf);
|
||||
if(NULL==IFindOption(pGroups,pBuf))
|
||||
{
|
||||
@@ -716,16 +718,16 @@ static int SinfoxShow(pSinfox pSin, SicsInterp* pSics, SConnection *pCon,
|
||||
strtolower(pBuf);
|
||||
addToList(tTcl,tList,"devicetype",pBuf);
|
||||
}
|
||||
if(NULL!=pDes->group)
|
||||
if((pTmp = IFindOption(pDes->pKeys,"group")) != NULL)
|
||||
{
|
||||
strcpy(pBuf,pDes->group);
|
||||
strcpy(pBuf,pTmp);
|
||||
strtolower(pBuf);
|
||||
addToList(tTcl,tList,"group",pBuf);
|
||||
}
|
||||
}
|
||||
if(NULL!=pDes->description)
|
||||
if((pTmp = IFindOption(pDes->pKeys,"description")) != NULL)
|
||||
{
|
||||
strcpy(pBuf,pDes->description);
|
||||
strcpy(pBuf,pTmp);
|
||||
strtolower(pBuf);
|
||||
addToList(tTcl,tList,"description",pBuf);
|
||||
}
|
||||
@@ -782,13 +784,13 @@ static int SinfoxShow(pSinfox pSin, SicsInterp* pSics, SConnection *pCon,
|
||||
pDes = FindDescriptor(pCurrent->pData);
|
||||
if(NULL != pDes)
|
||||
{
|
||||
if(NULL == pDes->group)
|
||||
if((pTmp = IFindOption(pDes->pKeys,"group")) == NULL)
|
||||
{
|
||||
strcpy(pBuf,"none");
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(pBuf,pDes->group);
|
||||
strcpy(pBuf,pTmp);
|
||||
strtolower(pBuf);
|
||||
}
|
||||
if(0==strcmp(pElt,pBuf))
|
||||
@@ -961,7 +963,7 @@ int SinfoxAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
{"reset",0,{0,0}},
|
||||
{"readkey",2,{FUPATEXT,FUPATEXT}},
|
||||
{"getgrp",1,{FUPATEXT}},
|
||||
NULL
|
||||
{NULL}
|
||||
};
|
||||
|
||||
assert(pCon);
|
||||
|
||||
Reference in New Issue
Block a user