]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
*** empty log message ***
authorhades <hades>
Wed, 14 Mar 2001 20:51:43 +0000 (20:51 +0000)
committerhades <hades>
Wed, 14 Mar 2001 20:51:43 +0000 (20:51 +0000)
15 files changed:
allParam/ca/client/caParam.c
allParam/ca/server/Makefile
allParam/ca/server/paramBlobRecord.cc
allParam/ca/server/paramBlobRecord.h
allParam/ca/server/paramFilenameRecord.cc
allParam/ca/server/paramFilenameRecord.h
allParam/ca/server/paramIntRecord.cc
allParam/ca/server/paramIntRecord.h
allParam/ca/server/paramRecord.cc
allParam/ca/server/paramRecord.h
allParam/ca/server/paramRecordSet.cc
allParam/ca/server/paramStringRecord.cc
allParam/ca/server/paramStringRecord.h
allParam/ora/oraParam.pc
allParam/psql/psqlParam.c

index b95d82095482dd5d67bb644a75d9bc2132be4b61..53ca1e591381b6fa4696a4db6126f0299a7371d5 100644 (file)
@@ -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;
index 9e87ad416faff2fb68128578c079bf58d220806a..fbd7d6144eb0901a25a1e845e946ec609625b6c1 100644 (file)
@@ -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
index a29b87bc11c67dac61e7a69a1495a03a627012b6..b56833d4755abae1d6353efef07f0810fc6c4a1c 100644 (file)
@@ -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
index f071c229189e59f6dbe69a8adc1e15e8bbceb8c8..797f8b28d40a6eb8156c820e14008c831788e6d9 100644 (file)
@@ -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 &);
index b2d20dd66faca7912d7bb9ff884ae53f55fd265e..99c897d09fa903a92589c9831bbf629b17a1caf6 100644 (file)
@@ -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
index 6e32a0965c479afccce73f626b331ad250011e1c..20908ed0bf8566e7f88f99cb28f1ab83e72a2bfc 100644 (file)
@@ -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 &);
index 7d37f3fde94da89378ac0c0ef24fb3d4df6a2522..316ac844a10777d9fef666eba853ef686772a693 100644 (file)
@@ -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
index 5f7e6b5e93d78cb8c71d9f0daf01f3d3154041e8..518378d7ff80bce48827a72b1b4d9e20cb7023fb 100644 (file)
@@ -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<ParamIntRecord> 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 &);
index 5b77e8c6424101cc806e4dcabc7ced28e636a73f..c1c43eadc0cc67ecf526aa333fa83ff317bb37c1 100644 (file)
@@ -47,11 +47,6 @@ ParamRecord::~ParamRecord()
 {
 }
 
-epicsShareFunc aitEnum ParamRecord::bestExternalType() const
-{
-       return aitEnumString;
-}
-
 const char *ParamRecord::getPVName()
 {
        return pPVName;
index af6e703b8a196c7e1732cc714f4f2c1dab09b1e1..d595cc5ee49739321309c3219568597584fa8732 100644 (file)
@@ -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 &);
index 760b9df59b3af2611110e7165293fe851795d4ce..b2c624bd7f4cb1bce1142f54e535fe86406e5edb 100644 (file)
@@ -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 {
index 438ea07870a70fe1b9b493c4059df025eb58de89..1b356a7e4f734d5f63ef86aba4cc6a2752cfa187 100644 (file)
@@ -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
index 83512b68e6308f23349cf06b0617d3278004ed1c..8629cc9e2097b428a3ae4a762e6ebc92f3e03534 100644 (file)
@@ -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 &);
index c79bb91bb9f6be210e01939d07df77ecd5bb3b77..913d4e5440fd7c3271a550843f1f52c6cd2f7e1d 100644 (file)
@@ -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)
index a29025dcaf1be12e035db59ac6b9fba38c4bfda1..da19943fbc7726ae571504c7d8ec40f258fb5499 100644 (file)
@@ -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)