- 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:
koennecke
2006-01-16 08:32:07 +00:00
parent b3138f1197
commit 45fd50265f
20 changed files with 732 additions and 243 deletions

View File

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