From: hades Date: Wed, 14 Mar 2001 20:51:43 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=d16faf2c4289d9506647b76526b965527e562529;p=daqdata.git *** empty log message *** --- diff --git a/allParam/ca/client/caParam.c b/allParam/ca/client/caParam.c index b95d820..53ca1e5 100644 --- a/allParam/ca/client/caParam.c +++ b/allParam/ca/client/caParam.c @@ -281,7 +281,6 @@ int Param_getBlob(const Param *my, const char *name, const char *idx, size_t *si chid chan; char *pPVName; - *size = 0; if((status = ca_task_initialize()) != ECA_NORMAL) { Param_strerror((Param *) my, ca_message(status)); retVal = -1; @@ -304,6 +303,7 @@ int Param_getBlob(const Param *my, const char *name, const char *idx, size_t *si found = 0; retVal = 0; } + *val = tmpfile(); if(found == 1) { ParamBlobResult resultS, *result = &resultS; result->val = val; diff --git a/allParam/ca/server/Makefile b/allParam/ca/server/Makefile index 9e87ad4..fbd7d61 100644 --- a/allParam/ca/server/Makefile +++ b/allParam/ca/server/Makefile @@ -18,28 +18,28 @@ OBJS = record.o paramRecord.o paramIntRecord.o paramStringRecord.o \ # Targets # ########### -daq_file_param_cas : ../../file/libfileParam.a +daq_file_param_cas : $(OBJS) ../../file/libfileParam.a $(MAKE) daq_param_cas "LOADLIBES=-L../../file -lfileParam $(LOADLIBES)" $(MV) daq_param_cas $@ -daq_ora_param_cas : ../../ora/liboraParam.a +daq_ora_param_cas : $(OBJS) ../../ora/liboraParam.a $(MAKE) daq_param_cas \ "LOADLIBES=-L../../ora -loraParam -L$(ORACLE_HOME)/lib \ -lsql -lclntsh -lcommon -lcore4 -lnlsrtl3 $(LOADLIBES)" $(MV) daq_param_cas $@ -daq_psql_param_cas : ../../psql/libpsqlParam.a +daq_psql_param_cas : $(OBJS) ../../psql/libpsqlParam.a $(MAKE) daq_param_cas \ "LOADLIBES=-L../../psql -lpsqlParam -lpq -lcrypt $(LOADLIBES)" $(MV) daq_param_cas $@ -daq_tcl_param_cas : ../../tcl/libtclParam.a +daq_tcl_param_cas : $(OBJS) ../../tcl/libtclParam.a $(MAKE) daq_param_cas \ "LOADLIBES=-L../../tcl -ltclParam -ltcl -lm -ldl $(LOADLIBES)" $(MV) daq_param_cas $@ -daq_param_cas : $(OBJS) - $(CXX) $(LDFLAGS) $^ $(LOADLIBES) -o $@ +daq_param_cas : + $(CXX) $(LDFLAGS) $(OBJS) $(LOADLIBES) -o $@ paramServer.o: paramServer.cc paramRecordSet.h \ paramRecord.h record.h diff --git a/allParam/ca/server/paramBlobRecord.cc b/allParam/ca/server/paramBlobRecord.cc index a29b87b..b56833d 100644 --- a/allParam/ca/server/paramBlobRecord.cc +++ b/allParam/ca/server/paramBlobRecord.cc @@ -30,24 +30,9 @@ ParamBlobRecord::~ParamBlobRecord() } } -aitBool ParamBlobRecord::paramDoesReallyExist() +epicsShareFunc aitEnum ParamRecord::bestExternalType() const { - aitBool retVal = aitFalse; - for (int k = 0 ; k < PARAM_MAX_ARRAY_LEN ; k++) { - ourValue[k] = new char[PARAM_MAX_VALUE_LEN]; - } - - int rows; - - if((Param_getStringArray(param, name, idx, PARAM_MAX_ARRAY_LEN, &rows, ourValue) == 0) && (rows > 0)) { - index = rows; - retVal = aitTrue; - } - - for(int k = index ; k < PARAM_MAX_ARRAY_LEN ; k++) { - delete ourValue[k]; - } - return retVal; + return aitEnumUint32; } epicsShareFunc unsigned ParamBlobRecord::maxDimension() const diff --git a/allParam/ca/server/paramBlobRecord.h b/allParam/ca/server/paramBlobRecord.h index f071c22..797f8b2 100644 --- a/allParam/ca/server/paramBlobRecord.h +++ b/allParam/ca/server/paramBlobRecord.h @@ -13,7 +13,7 @@ class ParamBlobRecord : public ParamRecord { ParamBlobRecord(caServer&, const Param *, const char *, const char *); ~ParamBlobRecord(); - aitBool paramDoesReallyExist(); + epicsShareFunc aitEnum bestExternalType() const; epicsShareFunc unsigned maxDimension() const; epicsShareFunc aitIndex maxBound(unsigned int) const; gddAppFuncTableStatus readValue(gdd &); diff --git a/allParam/ca/server/paramFilenameRecord.cc b/allParam/ca/server/paramFilenameRecord.cc index b2d20dd..99c897d 100644 --- a/allParam/ca/server/paramFilenameRecord.cc +++ b/allParam/ca/server/paramFilenameRecord.cc @@ -30,24 +30,9 @@ ParamFilenameRecord::~ParamFilenameRecord() } } -aitBool ParamFilenameRecord::paramDoesReallyExist() +epicsShareFunc aitEnum ParamRecord::bestExternalType() const { - aitBool retVal = aitFalse; - for (int k = 0 ; k < PARAM_MAX_ARRAY_LEN ; k++) { - ourValue[k] = new char[PARAM_MAX_VALUE_LEN]; - } - - int rows; - - if((Param_getStringArray(param, name, idx, PARAM_MAX_ARRAY_LEN, &rows, ourValue) == 0) && (rows > 0)) { - index = rows; - retVal = aitTrue; - } - - for(int k = index ; k < PARAM_MAX_ARRAY_LEN ; k++) { - delete ourValue[k]; - } - return retVal; + return aitEnumString; } epicsShareFunc unsigned ParamFilenameRecord::maxDimension() const diff --git a/allParam/ca/server/paramFilenameRecord.h b/allParam/ca/server/paramFilenameRecord.h index 6e32a09..20908ed 100644 --- a/allParam/ca/server/paramFilenameRecord.h +++ b/allParam/ca/server/paramFilenameRecord.h @@ -13,7 +13,7 @@ class ParamFilenameRecord : public ParamRecord { ParamFilenameRecord(caServer&, const Param *, const char *, const char *); ~ParamFilenameRecord(); - aitBool paramDoesReallyExist(); + epicsShareFunc aitEnum bestExternalType() const; epicsShareFunc unsigned maxDimension() const; epicsShareFunc aitIndex maxBound(unsigned int) const; gddAppFuncTableStatus readValue(gdd &); diff --git a/allParam/ca/server/paramIntRecord.cc b/allParam/ca/server/paramIntRecord.cc index 7d37f3f..316ac84 100644 --- a/allParam/ca/server/paramIntRecord.cc +++ b/allParam/ca/server/paramIntRecord.cc @@ -30,24 +30,9 @@ ParamIntRecord::~ParamIntRecord() } } -aitBool ParamIntRecord::paramDoesReallyExist() +epicsShareFunc aitEnum ParamRecord::bestExternalType() const { - aitBool retVal = aitFalse; - for (int k = 0 ; k < PARAM_MAX_ARRAY_LEN ; k++) { - ourValue[k] = new char[PARAM_MAX_VALUE_LEN]; - } - - int rows; - - if((Param_getStringArray(param, name, idx, PARAM_MAX_ARRAY_LEN, &rows, ourValue) == 0) && (rows > 0)) { - index = rows; - retVal = aitTrue; - } - - for(int k = index ; k < PARAM_MAX_ARRAY_LEN ; k++) { - delete ourValue[k]; - } - return retVal; + return aitEnumUint32; } epicsShareFunc unsigned ParamIntRecord::maxDimension() const diff --git a/allParam/ca/server/paramIntRecord.h b/allParam/ca/server/paramIntRecord.h index 5f7e6b5..518378d 100644 --- a/allParam/ca/server/paramIntRecord.h +++ b/allParam/ca/server/paramIntRecord.h @@ -6,14 +6,14 @@ class ParamIntRecord : public ParamRecord { private: aitIndex index; - char *ourValue[PARAM_MAX_ARRAY_LEN]; + unsigned long int ourValue[PARAM_MAX_ARRAY_LEN]; gddAppFuncTable funcTable; public: ParamIntRecord(caServer&, const Param *, const char *, const char *); ~ParamIntRecord(); - aitBool paramDoesReallyExist(); + epicsShareFunc aitEnum bestExternalType() const; epicsShareFunc unsigned maxDimension() const; epicsShareFunc aitIndex maxBound(unsigned int) const; gddAppFuncTableStatus readValue(gdd &); diff --git a/allParam/ca/server/paramRecord.cc b/allParam/ca/server/paramRecord.cc index 5b77e8c..c1c43ea 100644 --- a/allParam/ca/server/paramRecord.cc +++ b/allParam/ca/server/paramRecord.cc @@ -47,11 +47,6 @@ ParamRecord::~ParamRecord() { } -epicsShareFunc aitEnum ParamRecord::bestExternalType() const -{ - return aitEnumString; -} - const char *ParamRecord::getPVName() { return pPVName; diff --git a/allParam/ca/server/paramRecord.h b/allParam/ca/server/paramRecord.h index af6e703..d595cc5 100644 --- a/allParam/ca/server/paramRecord.h +++ b/allParam/ca/server/paramRecord.h @@ -19,12 +19,12 @@ class ParamRecord : public Record { char pPVName[PARAM_MAX_VALUE_LEN]; char name[PARAM_MAX_VALUE_LEN]; char idx[PARAM_MAX_VALUE_LEN]; + public: ParamRecord(caServer&, const Param *, const char *, const char *); ~ParamRecord(); const char *getPVName(); - epicsShareFunc aitEnum bestExternalType() const; virtual gddAppFuncTableStatus readLowCtrl(gdd &); virtual gddAppFuncTableStatus readHighCtrl(gdd &); diff --git a/allParam/ca/server/paramRecordSet.cc b/allParam/ca/server/paramRecordSet.cc index 760b9df..b2c624b 100644 --- a/allParam/ca/server/paramRecordSet.cc +++ b/allParam/ca/server/paramRecordSet.cc @@ -31,13 +31,21 @@ ParamRecordSet::~ParamRecordSet() Param *ParamRecordSet::pParam(const char *setup) { - for (int i = 0 ; i < numParamSrc ; i++) { - if (param[i]->setup != NULL) { - if (strcmp(param[i]->setup, setup) == 0) { - return param[i]; + if(setup != NULL) { + for (int i = 0 ; i < numParamSrc ; i++) { + if (param[i]->setup != NULL) { + if (strcmp(param[i]->setup, setup) == 0) { + return param[i]; + } + } else { + if (setup == NULL) { + return param[i]; + } } - } else { - if (setup == NULL) { + } + } else { + for (int i = 0 ; i < numParamSrc ; i++) { + if (param[i]->setup == NULL) { return param[i]; } } @@ -64,7 +72,7 @@ pvExistReturn ParamRecordSet::pvExistTest(const casCtx &ctx, const char *pPVName } if(strncmp(pPVName, "HAD:P", strlen("HAD:P")) == 0) { - sscanf(pPVName, "HAD:P%c:[^:]:[^:]:[^:]", &type, buf1, buf2, buf3); + sscanf(pPVName, "HAD:P%c:%[^:]:%[^:]:%[^:]", &type, buf1, buf2, buf3); if (strcmp(buf3, "") == 0) { setup = NULL; } else { @@ -76,6 +84,7 @@ pvExistReturn ParamRecordSet::pvExistTest(const casCtx &ctx, const char *pPVName if(pParam(setup) == NULL) { param[numParamSrc] = new Param; if (conSetupParam(param[numParamSrc], setup) == 0) { + syslog(LOG_INFO, "Constructed new param source: %s", setup); numParamSrc++; } else { desParam(param[numParamSrc]); @@ -109,7 +118,7 @@ pvCreateReturn ParamRecordSet::createPV(const casCtx &ctx, const char *pPVName) } if(strncmp(pPVName, "HAD:P", strlen("HAD:P")) == 0) { - sscanf(pPVName, "HAD:P%c:[^:]:[^:]:[^:]", &type, buf1, buf2, buf3); + sscanf(pPVName, "HAD:P%c:%[^:]:%[^:]:%[^:]", &type, buf1, buf2, buf3); if (strcmp(buf3, "") == 0) { setup = NULL; } else { diff --git a/allParam/ca/server/paramStringRecord.cc b/allParam/ca/server/paramStringRecord.cc index 438ea07..1b356a7 100644 --- a/allParam/ca/server/paramStringRecord.cc +++ b/allParam/ca/server/paramStringRecord.cc @@ -30,24 +30,9 @@ ParamStringRecord::~ParamStringRecord() } } -aitBool ParamStringRecord::paramDoesReallyExist() +epicsShareFunc aitEnum ParamRecord::bestExternalType() const { - aitBool retVal = aitFalse; - for (int k = 0 ; k < PARAM_MAX_ARRAY_LEN ; k++) { - ourValue[k] = new char[PARAM_MAX_VALUE_LEN]; - } - - int rows; - - if((Param_getStringArray(param, name, idx, PARAM_MAX_ARRAY_LEN, &rows, ourValue) == 0) && (rows > 0)) { - index = rows; - retVal = aitTrue; - } - - for(int k = index ; k < PARAM_MAX_ARRAY_LEN ; k++) { - delete ourValue[k]; - } - return retVal; + return aitEnumString; } epicsShareFunc unsigned ParamStringRecord::maxDimension() const diff --git a/allParam/ca/server/paramStringRecord.h b/allParam/ca/server/paramStringRecord.h index 83512b6..8629cc9 100644 --- a/allParam/ca/server/paramStringRecord.h +++ b/allParam/ca/server/paramStringRecord.h @@ -13,7 +13,7 @@ class ParamStringRecord : public ParamRecord { ParamStringRecord(caServer&, const Param *, const char *, const char *); ~ParamStringRecord(); - aitBool paramDoesReallyExist(); + epicsShareFunc aitEnum bestExternalType() const; epicsShareFunc unsigned maxDimension() const; epicsShareFunc aitIndex maxBound(unsigned int) const; gddAppFuncTableStatus readValue(gdd &); diff --git a/allParam/ora/oraParam.pc b/allParam/ora/oraParam.pc index c79bb91..913d4e5 100644 --- a/allParam/ora/oraParam.pc +++ b/allParam/ora/oraParam.pc @@ -36,12 +36,7 @@ int conSetupParam(Param *my, const char *setup) int conParam(Param *my) { - my->strerror = NULL; - my->setup = NULL; - my->specParam = malloc(sizeof(OraParam)); - ((OraParam *) (my->specParam))->user = "daq@db-hades.gsi.de"; - ((OraParam *) (my->specParam))->passwd = "daqall"; - return 0; + return conSetupParam(my, NULL); } void desParam(Param *my) diff --git a/allParam/psql/psqlParam.c b/allParam/psql/psqlParam.c index a29025d..da19943 100644 --- a/allParam/psql/psqlParam.c +++ b/allParam/psql/psqlParam.c @@ -28,9 +28,7 @@ int conSetupParam(Param *my, const char *setup) int conParam(Param *my) { - my->strerror = NULL; - my->setup = NULL; - return 0; + return conSetupParam(my, NULL); } void desParam(Param *my)