00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef CAFECACHE_H
00010 #define CAFECACHE_H
00011
00012 int getPulseID(unsigned int * handle, unsigned int nelem, unsigned int * pulseID) {
00013 int status=ICAFE_NORMAL; int statusLocal=ICAFE_NORMAL;
00014 for (unsigned int i=0; i<nelem; ++i) {
00015 statusLocal=handleHelper.getPulseID(handle[i], pulseID[i]);
00016 if (statusLocal!=ICAFE_NORMAL && status==ICAFE_NORMAL) {
00017 status=statusLocal;
00018 }
00019 }
00020 return status;
00021 }
00022
00023 int getPulseID(unsigned int handle, unsigned int &pulseID) {
00024 pulseID=0;
00025 return handleHelper.getPulseID(handle, pulseID);
00026 }
00027
00028 int getPulseID(char * pv, unsigned int &pulseID) {
00029 pulseID=0;
00030 unsigned int handle=handleHelper.getHandleFromPV(pv);
00031 return handleHelper.getPulseID(handle, pulseID);
00032 }
00033
00034 unsigned int getPulseIDFromTS(epicsTimeStamp ts) {
00035 return handleHelper.getPulseIDFromTS(ts);
00036 }
00037
00038 vector<unsigned int>getPulseIDFromTS(PVDataHolder * pvd, unsigned int nelem) {
00039 vector<unsigned int> vui;
00040 vui.clear();
00041 vui.reserve(nelem);
00042 for (unsigned int i=0; i<nelem; ++i) {
00043 vui.push_back( getPulseIDFromTS(pvd[i].getEpicsTimeStamp()));
00044 }
00045 return vui;
00046 }
00047
00048 vector<unsigned int>getPulseIDFromTS(PVGroup pvg) {
00049 vector<unsigned int> vui;
00050 vui.clear();
00051 vui.reserve(pvg.getNPV());
00052 PVDataHolder * pvd=pvg.getPVData();
00053 for (unsigned int i=0; i<pvg.getNPV(); ++i) {
00054 vui.push_back( getPulseIDFromTS(pvd[i].getEpicsTimeStamp()));
00055 }
00056 return vui;
00057 }
00058
00059 int getCachePVArray (vector<unsigned int> handleV, PVDataHolder * pvd){
00060 unsigned int * handleArray = new unsigned int [handleV.size()];
00061 for (size_t i=0; i< (size_t) handleV.size(); ++i) {handleArray[i]= (unsigned int) handleV[i];}
00062 status=getCache(handleArray, (unsigned int) handleV.size(), pvd);
00063 delete [] handleArray; return status;
00064 };
00065
00066 int getCachePVArrayNoWait (vector<unsigned int> handleV, PVDataHolder * pvd){
00067 unsigned int * handleArray = new unsigned int [handleV.size()];
00068 int overallStatus=ICAFE_NORMAL;
00069 for (size_t i=0; i< (size_t) handleV.size(); ++i) {handleArray[i]= (unsigned int) handleV[i];
00070 status=getCacheNoWait(handleArray[i], pvd[i]);
00071 if (status!=ICAFE_NORMAL) {
00072 resetCallbackGet(handleArray[i]);
00073 if(overallStatus==ICAFE_NORMAL) {overallStatus=status;}
00074 }
00075 }
00076 delete [] handleArray; return status;
00077 };
00078
00079 int resetCallbackGet(const unsigned int handle);
00080 int resetCallbackPut(const unsigned int handle);
00081
00082 int getCacheNoWait(const unsigned int handle, PVDataHolder & pvd);
00083
00084 int getCache (const unsigned int handle, PVDataHolder & pvd);
00085 int getCache (const unsigned int *handleArray, unsigned int nelem, PVDataHolder * pvd);
00086
00087 int getCtrlCache (const unsigned int handle, PVCtrlHolder & pvc);
00088 int getCtrlCache (const unsigned int *handleArray, unsigned int nelem, PVCtrlHolder * pvc);
00089
00090 int getCache (const char * pv, PVDataHolder & pvd) {
00091 unsigned int handle=handleHelper.getHandleFromPV(pv); return getCache(handle, pvd);}
00092 int getCtrlCache (const char * pv, PVCtrlHolder & pvc) {
00093 unsigned int handle=handleHelper.getHandleFromPV(pv); return getCtrlCache(handle, pvc);}
00094
00095
00096 int getCacheDoubleArray(const unsigned int handle, dbr_double_t * _val) {
00097 return cafeDoppio.getCache(handle, DBR_DOUBLE, _val);
00098 };
00099 int getCache(const unsigned int handle, dbr_double_t * _val) {
00100 return cafeDoppio.getCache(handle, DBR_DOUBLE, _val);
00101 };
00102 int getCache(const unsigned int handle, dbr_double_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00103 return cafeDoppio.getCache(handle, DBR_STS_DOUBLE, _val, alarmStatus, alarmSeverity);
00104 };
00105 int getCache(const unsigned int handle, dbr_double_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00106 return cafeDoppio.getCache(handle, DBR_TIME_DOUBLE, _val, alarmStatus, alarmSeverity, ts);
00107 };
00108
00109 int getCache(const unsigned int handle, long long * _val);
00110 int getCache(const unsigned int handle, long long * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00111 int getCache(const unsigned int handle, long long * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00112
00113
00114 int getCacheLongArray(const unsigned int handle, dbr_long_t * _val) {
00115 return cafeLatte.getCache(handle, DBR_LONG, _val);
00116 };
00117 int getCache(const unsigned int handle, dbr_long_t * _val) {
00118 return cafeLatte.getCache(handle, DBR_LONG, _val);
00119 };
00120 int getCache(const unsigned int handle, dbr_long_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00121 return cafeLatte.getCache(handle, DBR_STS_LONG, _val, alarmStatus, alarmSeverity);
00122 };
00123 int getCache(const unsigned int handle, dbr_long_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00124 return cafeLatte.getCache(handle, DBR_TIME_LONG, _val, alarmStatus, alarmSeverity, ts);
00125 };
00126
00127 int getCache(const unsigned int handle, dbr_char_t * _val) {
00128 return cafeCappuccino.getCache(handle, DBR_CHAR, _val);
00129 };
00130 int getCache(const unsigned int handle, dbr_char_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00131 return cafeCappuccino.getCache(handle, DBR_STS_ENUM, _val, alarmStatus, alarmSeverity);
00132 };
00133 int getCache(const unsigned int handle, dbr_char_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00134 return cafeCappuccino.getCache(handle, DBR_TIME_ENUM, _val, alarmStatus, alarmSeverity, ts);
00135 };
00136
00137 int getCache(const unsigned int handle, dbr_enum_t * _val) {
00138 return cafeEspresso.getCache(handle, DBR_ENUM, _val);
00139 };
00140 int getCache(const unsigned int handle, dbr_enum_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00141 return cafeEspresso.getCache(handle, DBR_STS_ENUM, _val, alarmStatus, alarmSeverity);
00142 };
00143 int getCache(const unsigned int handle, dbr_enum_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00144 return cafeEspresso.getCache(handle, DBR_TIME_ENUM, _val, alarmStatus, alarmSeverity, ts);
00145 };
00146
00147 int getCacheFloatArray(const unsigned int handle, dbr_float_t * _val) {
00148 return cafeFrappuccino.getCache(handle, DBR_FLOAT, _val);
00149 };
00150 int getCache(const unsigned int handle, dbr_float_t * _val) {
00151 return cafeFrappuccino.getCache(handle, DBR_FLOAT, _val);
00152 };
00153 int getCache(const unsigned int handle, dbr_float_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00154 return cafeFrappuccino.getCache(handle, DBR_STS_FLOAT, _val, alarmStatus, alarmSeverity);
00155 };
00156 int getCache(const unsigned int handle, dbr_float_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00157 return cafeFrappuccino.getCache(handle, DBR_TIME_FLOAT, _val, alarmStatus, alarmSeverity, ts);
00158 };
00159
00160 int getCache(const unsigned int handle, dbr_short_t * _val) {
00161 return cafeSchale.getCache(handle, DBR_SHORT, _val);
00162 };
00163 int getCache(const unsigned int handle, dbr_short_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00164 return cafeSchale.getCache(handle, DBR_STS_SHORT, _val, alarmStatus, alarmSeverity);
00165 };
00166 int getCache(const unsigned int handle, dbr_short_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00167 return cafeSchale.getCache(handle, DBR_TIME_SHORT, _val, alarmStatus, alarmSeverity, ts);
00168 };
00169
00170
00171 int getCacheDbrStringArray(const unsigned int handle, dbr_string_t * _val){
00172 return cafeSoluble.getCache(handle, DBR_STRING, _val);
00173 };
00174
00175
00176 int getCache(const unsigned int handle, dbr_string_t * _val) {
00177 return cafeSoluble.getCache(handle, DBR_STRING, _val);
00178 };
00179 int getCache(const unsigned int handle, dbr_string_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00180 return cafeSoluble.getCache(handle, DBR_STS_STRING, _val, alarmStatus, alarmSeverity);
00181 };
00182 int getCache(const unsigned int handle, dbr_string_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00183 return cafeSoluble.getCache(handle, DBR_TIME_STRING, _val, alarmStatus, alarmSeverity, ts);
00184 }
00185
00186 int getCacheStringArray(const unsigned int handle, string * valStr) {
00187 dbr_string_t * _val = new dbr_string_t[handleHelper.getNelemRequest(handle)];
00188 status=cafeSoluble.getCache(handle, DBR_STRING, _val);
00189 for (unsigned int i=0; i< handleHelper.getNelemRequest(handle); ++i) { valStr[i]=_val[i]; }
00190 delete [] _val; return status;
00191 };
00192 int getCache(const unsigned int handle, string * valStr) {
00193 dbr_string_t * _val = new dbr_string_t[handleHelper.getNelemRequest(handle)];
00194 status=cafeSoluble.getCache(handle, DBR_STRING, _val);
00195 for (unsigned int i=0; i< handleHelper.getNelemRequest(handle); ++i) { valStr[i]=_val[i]; }
00196 delete [] _val; return status;
00197 };
00198 int getCache(const unsigned int handle, string * valStr, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00199 dbr_string_t * _val = new dbr_string_t[handleHelper.getNelemRequest(handle)];
00200 status=cafeSoluble.getCache(handle, DBR_STS_STRING, _val, alarmStatus, alarmSeverity);
00201 for (unsigned int i=0; i< handleHelper.getNelemRequest(handle); ++i) { valStr[i]=_val[i]; }
00202 delete [] _val; return status;
00203 };
00204 int getCache(const unsigned int handle, string * valStr, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00205 dbr_string_t * _val = new dbr_string_t[handleHelper.getNelemRequest(handle)];
00206 status=cafeSoluble.getCache(handle, DBR_TIME_STRING, _val, alarmStatus, alarmSeverity, ts);
00207 for (unsigned int i=0; i< handleHelper.getNelemRequest(handle); ++i) { valStr[i]=_val[i]; }
00208 delete [] _val; return status;
00209 }
00210
00211
00212
00213 int getCacheString(const unsigned int handle, string & valStr){
00214 unsigned int nelemPrevious=CAFE::setNelemToRetrieveFromCacheToOne(handle); dbr_string_t val[1]={""};
00215 status=cafeSoluble.getCache(handle, DBR_STRING, val);
00216 if (status==ICAFE_NORMAL) {valStr=val[0];} CAFE::setNelemToRetrieveFromCacheToPrevious(handle, nelemPrevious);
00217 return status;
00218 }
00219
00220 int getCache(const unsigned int handle, string & valStr){
00221 unsigned int nelemPrevious=CAFE::setNelemToRetrieveFromCacheToOne(handle); dbr_string_t val[1]={""};
00222 status=cafeSoluble.getCache(handle, DBR_STRING, val);
00223 if (status==ICAFE_NORMAL) {valStr=val[0];} CAFE::setNelemToRetrieveFromCacheToPrevious(handle, nelemPrevious);
00224 return status;
00225 }
00226 int getCache(const unsigned int handle, string & valStr, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity){
00227 unsigned int nelemPrevious=CAFE::setNelemToRetrieveFromCacheToOne(handle); dbr_string_t val[1]={""};
00228 status=cafeSoluble.getCache(handle, DBR_STS_STRING, val, alarmStatus, alarmSeverity);
00229 if (status==ICAFE_NORMAL) {valStr=val[0];} CAFE::setNelemToRetrieveFromCacheToPrevious(handle, nelemPrevious);
00230 return status;
00231 }
00232 int getCache(const unsigned int handle, string & valStr,
00233 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts){
00234 unsigned int nelemPrevious=CAFE::setNelemToRetrieveFromCacheToOne(handle); dbr_string_t val[1]={""};
00235 status=cafeSoluble.getCache(handle, DBR_TIME_STRING, val, alarmStatus, alarmSeverity, ts);
00236 if (status==ICAFE_NORMAL) {valStr=val[0];} CAFE::setNelemToRetrieveFromCacheToPrevious(handle, nelemPrevious);
00237 return status;
00238 }
00239 int getCache(const unsigned int handle, dbr_string_t & val);
00240 int getCache(const unsigned int handle, dbr_string_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00241 int getCache(const unsigned int handle, dbr_string_t & val,
00242 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00243 int getCache(const unsigned int handle, dbr_short_t & val);
00244 int getCache(const unsigned int handle, dbr_short_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00245 int getCache(const unsigned int handle, dbr_short_t & val,
00246 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00247 int getCache(const unsigned int handle, dbr_float_t & val);
00248 int getCache(const unsigned int handle, dbr_float_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00249 int getCache(const unsigned int handle, dbr_float_t & val,
00250 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00251 int getCache(const unsigned int handle, dbr_enum_t & val);
00252 int getCache(const unsigned int handle, dbr_enum_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00253 int getCache(const unsigned int handle, dbr_enum_t & val,
00254 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00255 int getCache(const unsigned int handle, dbr_char_t & val);
00256 int getCache(const unsigned int handle, dbr_char_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00257 int getCache(const unsigned int handle, dbr_char_t & val,
00258 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00259
00260 int getCacheLong(const unsigned int handle, dbr_long_t & val) {
00261 return getCache(handle, val);
00262 }
00263
00264 int getCache(const unsigned int handle, dbr_long_t & val);
00265 int getCache(const unsigned int handle, dbr_long_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00266 int getCache(const unsigned int handle, dbr_long_t & val,
00267 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00268 int getCache(const unsigned int handle, long long & val);
00269 int getCache(const unsigned int handle, long long & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00270 int getCache(const unsigned int handle, long long & val,
00271 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00272 int getCacheDouble(const unsigned int handle, dbr_double_t & val) {
00273 return getCache(handle, val);
00274 }
00275
00276 int getCache(const unsigned int handle, dbr_double_t & val);
00277 int getCache(const unsigned int handle, dbr_double_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00278 int getCache(const unsigned int handle, dbr_double_t & val,
00279 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00280
00281
00282
00283
00284 int getCache(const unsigned int *handleArray, unsigned int nelem, string * valStr, int *statusArray,
00285 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00286 dbr_string_t * val = new dbr_string_t[nelem];
00287 status=cafeSoluble.getCache(handleArray, nelem, DBR_TIME_STRING, val, statusArray,
00288 alarmStatus, alarmSeverity, ts);
00289 for (unsigned int i=0; i< nelem; ++i) { valStr[i]=val[i]; }
00290 delete [] val; return status;
00291 };
00292 int getCache(const unsigned int *handleArray, unsigned int nelem, string * valStr, int *statusArray,
00293 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00294 dbr_string_t * val = new dbr_string_t[nelem];
00295 status=cafeSoluble.getCache(handleArray, nelem, DBR_STS_STRING, val, statusArray,
00296 alarmStatus, alarmSeverity);
00297 for (unsigned int i=0; i< nelem; ++i) { valStr[i]=val[i]; }
00298 delete [] val; return status;
00299 };
00300 int getCache (const unsigned int *handleArray, unsigned int nelem, string * valStr, int *statusArray) {
00301 dbr_string_t * val = new dbr_string_t[nelem];
00302 status=cafeSoluble.getCache(handleArray, nelem, DBR_STRING, val, statusArray);
00303 for (unsigned int i=0; i< nelem; ++i) { valStr[i]=val[i]; }
00304 delete [] val; return status;
00305 }
00306
00307 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_string_t * val, int *statusArray,
00308 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00309 return cafeSoluble.getCache(handleArray, nelem, DBR_TIME_STRING, val, statusArray,
00310 alarmStatus, alarmSeverity, ts);
00311 };
00312 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_string_t * val, int *statusArray,
00313 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00314 return cafeSoluble.getCache(handleArray, nelem, DBR_STS_STRING, val, statusArray,
00315 alarmStatus, alarmSeverity);
00316 };
00317 int getCache (const unsigned int *handleArray, unsigned int nelem, dbr_string_t * val, int *statusArray) {
00318 return cafeSoluble.getCache(handleArray, nelem, DBR_STRING, val, statusArray);
00319 }
00320
00321 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_short_t * val, int *statusArray,
00322 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00323 return cafeSchale.getCache(handleArray, nelem, DBR_TIME_SHORT, val, statusArray,
00324 alarmStatus, alarmSeverity, ts);
00325 };
00326 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_short_t * val, int *statusArray,
00327 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00328 return cafeSchale.getCache(handleArray, nelem, DBR_STS_SHORT, val, statusArray,
00329 alarmStatus, alarmSeverity);
00330 };
00331 int getCache (const unsigned int *handleArray, unsigned int nelem, dbr_short_t * val, int *statusArray) {
00332 return cafeSchale.getCache(handleArray, nelem, DBR_SHORT, val, statusArray);
00333 }
00334
00335 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_float_t * val, int *statusArray,
00336 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00337 return cafeFrappuccino.getCache(handleArray, nelem, DBR_TIME_FLOAT, val, statusArray,
00338 alarmStatus, alarmSeverity, ts);
00339 };
00340 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_float_t * val, int *statusArray,
00341 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00342 return cafeFrappuccino.getCache(handleArray, nelem, DBR_STS_FLOAT, val, statusArray,
00343 alarmStatus, alarmSeverity);
00344 };
00345 int getCache (const unsigned int *handleArray, unsigned int nelem, dbr_float_t * val, int *statusArray) {
00346 return cafeFrappuccino.getCache(handleArray, nelem, DBR_FLOAT, val, statusArray);
00347 }
00348
00349 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_ushort_t * val, int *statusArray,
00350 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00351 return cafeEspresso.getCache(handleArray, nelem, DBR_TIME_ENUM, val, statusArray,
00352 alarmStatus, alarmSeverity, ts);
00353 };
00354 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_ushort_t * val, int *statusArray,
00355 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00356 return cafeEspresso.getCache(handleArray, nelem, DBR_STS_ENUM, val, statusArray,
00357 alarmStatus, alarmSeverity);
00358 };
00359 int getCache (const unsigned int *handleArray, unsigned int nelem, dbr_ushort_t * val, int *statusArray) {
00360 return cafeEspresso.getCache(handleArray, nelem, DBR_ENUM, val, statusArray);
00361 }
00362
00363 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_char_t * val, int *statusArray,
00364 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00365 return cafeCappuccino.getCache(handleArray, nelem, DBR_TIME_CHAR, val, statusArray,
00366 alarmStatus, alarmSeverity, ts);
00367 };
00368 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_char_t * val, int *statusArray,
00369 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00370 return cafeCappuccino.getCache(handleArray, nelem, DBR_STS_CHAR, val, statusArray,
00371 alarmStatus, alarmSeverity);
00372 };
00373 int getCache (const unsigned int *handleArray, unsigned int nelem, dbr_char_t * val, int *statusArray) {
00374 return cafeCappuccino.getCache(handleArray, nelem, DBR_CHAR, val, statusArray);
00375 }
00376
00377 int getCache(unsigned int *handleArray, unsigned int nelem, dbr_long_t * val, int *statusArray,
00378 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00379 return cafeLatte.getCache(handleArray, nelem, DBR_TIME_LONG, val, statusArray,
00380 alarmStatus, alarmSeverity, ts);
00381 };
00382 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_long_t * val, int *statusArray,
00383 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00384 return cafeLatte.getCache(handleArray, nelem, DBR_STS_LONG, val, statusArray,
00385 alarmStatus, alarmSeverity);
00386 };
00387 int getCache (const unsigned int *handleArray, unsigned int nelem, dbr_long_t * val, int *statusArray) {
00388 return cafeLatte.getCache(handleArray, nelem, DBR_LONG, val, statusArray);
00389 }
00390
00391 int getCache(const unsigned int *handleArray, unsigned int nelem, long long * val, int *statusArray,
00392 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts);
00393
00394 int getCache(const unsigned int *handleArray, unsigned int nelem, long long * val, int *statusArray,
00395 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity);
00396
00397 int getCache (const unsigned int *handleArray, unsigned int nelem, long long * val, int *statusArray);
00398
00399 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_double_t * val, int *statusArray,
00400 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) {
00401 return cafeDoppio.getCache(handleArray, nelem, DBR_TIME_DOUBLE, val, statusArray,
00402 alarmStatus, alarmSeverity, ts);
00403 };
00404 int getCache(const unsigned int *handleArray, unsigned int nelem, dbr_double_t * val, int *statusArray,
00405 dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) {
00406 return cafeDoppio.getCache(handleArray, nelem, DBR_STS_DOUBLE, val, statusArray,
00407 alarmStatus, alarmSeverity);
00408 };
00409 int getCache (const unsigned int *handleArray, unsigned int nelem, dbr_double_t * val, int *statusArray) {
00410 return cafeDoppio.getCache(handleArray, nelem, DBR_DOUBLE, val, statusArray);
00411 }
00412
00414
00415 int getCache(const char * pv, string & valStr);
00416 int getCache(const char * pv, string & valStr, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00417 int getCache(const char * pv, string & valStr,
00418 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00419 int getCache(const char * pv, dbr_string_t & val);
00420 int getCache(const char * pv, dbr_string_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00421 int getCache(const char * pv, dbr_string_t & val,
00422 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00423 int getCache(const char * pv, dbr_short_t & val);
00424 int getCache(const char * pv, dbr_short_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00425 int getCache(const char * pv, dbr_short_t & val,
00426 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00427 int getCache(const char * pv, dbr_float_t & val);
00428 int getCache(const char * pv, dbr_float_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00429 int getCache(const char * pv, dbr_float_t & val,
00430 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00431 int getCache(const char * pv, dbr_enum_t & val);
00432 int getCache(const char * pv, dbr_enum_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00433 int getCache(const char * pv, dbr_enum_t & val,
00434 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00435 int getCache(const char * pv, dbr_char_t & val);
00436 int getCache(const char * pv, dbr_char_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00437 int getCache(const char * pv, dbr_char_t & val,
00438 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00439 int getCache(const char * pv, dbr_long_t & val);
00440 int getCache(const char * pv, dbr_long_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00441 int getCache(const char * pv, dbr_long_t & val,
00442 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00443 int getCache(const char * pv, long long & val){
00444 unsigned int handle=handleHelper.getHandleFromPV(pv);
00445 return CAFE::getCache(handle, val);
00446 }
00447 int getCache(const char * pv, long long & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity){
00448 unsigned int handle=handleHelper.getHandleFromPV(pv);
00449 return CAFE::getCache(handle, val, alarmStatus, alarmSeverity);
00450 }
00451 int getCache(const char * pv, long long & val,
00452 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts){
00453 unsigned int handle=handleHelper.getHandleFromPV(pv);
00454 return CAFE::getCache(handle, val, alarmStatus, alarmSeverity, ts);
00455 }
00456 int getCache(const char * pv, dbr_double_t & val);
00457 int getCache(const char * pv, dbr_double_t & val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity);
00458 int getCache(const char * pv, dbr_double_t & val,
00459 dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts);
00460
00461
00462
00463 int getCache(const char * pv, dbr_double_t * _val) {
00464 unsigned int handle=handleHelper.getHandleFromPV(pv);
00465 return cafeDoppio.getCache(handle, DBR_DOUBLE, _val);
00466 };
00467 int getCache(const char * pv, dbr_double_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00468 unsigned int handle=handleHelper.getHandleFromPV(pv);
00469 return cafeDoppio.getCache(handle, DBR_STS_DOUBLE, _val, alarmStatus, alarmSeverity);
00470 };
00471 int getCache(const char * pv, dbr_double_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00472 unsigned int handle=handleHelper.getHandleFromPV(pv);
00473 return cafeDoppio.getCache(handle, DBR_TIME_DOUBLE, _val, alarmStatus, alarmSeverity, ts);
00474 };
00475
00476
00477 int getCache(const char * pv, long long * _val) {
00478 unsigned int handle=handleHelper.getHandleFromPV(pv);
00479 return CAFE::getCache(handle, _val);
00480 };
00481 int getCache(const char * pv, long long * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00482 unsigned int handle=handleHelper.getHandleFromPV(pv);
00483 return CAFE::getCache(handle, _val, alarmStatus, alarmSeverity);
00484 };
00485 int getCache(const char * pv, long long * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00486 unsigned int handle=handleHelper.getHandleFromPV(pv);
00487 return CAFE::getCache(handle, _val, alarmStatus, alarmSeverity, ts);
00488 };
00489
00490
00491 int getCache(const char * pv, dbr_long_t * _val) {
00492 unsigned int handle=handleHelper.getHandleFromPV(pv);
00493 return cafeLatte.getCache(handle, DBR_LONG, _val);
00494 };
00495 int getCache(const char * pv, dbr_long_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00496 unsigned int handle=handleHelper.getHandleFromPV(pv);
00497 return cafeLatte.getCache(handle, DBR_STS_LONG, _val, alarmStatus, alarmSeverity);
00498 };
00499 int getCache(const char * pv, dbr_long_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00500 unsigned int handle=handleHelper.getHandleFromPV(pv);
00501 return cafeLatte.getCache(handle, DBR_TIME_LONG, _val, alarmStatus, alarmSeverity, ts);
00502 };
00503
00504 int getCache(const char * pv, dbr_char_t * _val) {
00505 unsigned int handle=handleHelper.getHandleFromPV(pv);
00506 return cafeCappuccino.getCache(handle, DBR_CHAR, _val);
00507 };
00508 int getCache(const char * pv, dbr_char_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00509 unsigned int handle=handleHelper.getHandleFromPV(pv);
00510 return cafeCappuccino.getCache(handle, DBR_STS_ENUM, _val, alarmStatus, alarmSeverity);
00511 };
00512 int getCache(const char * pv, dbr_char_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00513 unsigned int handle=handleHelper.getHandleFromPV(pv);
00514 return cafeCappuccino.getCache(handle, DBR_TIME_ENUM, _val, alarmStatus, alarmSeverity, ts);
00515 };
00516
00517 int getCache(const char * pv, dbr_enum_t * _val) {
00518 unsigned int handle=handleHelper.getHandleFromPV(pv);
00519 return cafeEspresso.getCache(handle, DBR_ENUM, _val);
00520 };
00521 int getCache(const char * pv, dbr_enum_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00522 unsigned int handle=handleHelper.getHandleFromPV(pv);
00523 return cafeEspresso.getCache(handle, DBR_STS_ENUM, _val, alarmStatus, alarmSeverity);
00524 };
00525 int getCache(const char * pv, dbr_enum_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00526 unsigned int handle=handleHelper.getHandleFromPV(pv);
00527 return cafeEspresso.getCache(handle, DBR_TIME_ENUM, _val, alarmStatus, alarmSeverity, ts);
00528 };
00529
00530 int getCache(const char * pv, dbr_float_t * _val) {
00531 unsigned int handle=handleHelper.getHandleFromPV(pv);
00532 return cafeFrappuccino.getCache(handle, DBR_FLOAT, _val);
00533 };
00534 int getCache(const char * pv, dbr_float_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00535 unsigned int handle=handleHelper.getHandleFromPV(pv);
00536 return cafeFrappuccino.getCache(handle, DBR_STS_FLOAT, _val, alarmStatus, alarmSeverity);
00537 };
00538 int getCache(const char * pv, dbr_float_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00539 unsigned int handle=handleHelper.getHandleFromPV(pv);
00540 return cafeFrappuccino.getCache(handle, DBR_TIME_FLOAT, _val, alarmStatus, alarmSeverity, ts);
00541 };
00542
00543 int getCache(const char * pv, dbr_short_t * _val) {
00544 unsigned int handle=handleHelper.getHandleFromPV(pv);
00545 return cafeSchale.getCache(handle, DBR_SHORT, _val);
00546 };
00547 int getCache(const char * pv, dbr_short_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00548 unsigned int handle=handleHelper.getHandleFromPV(pv);
00549 return cafeSchale.getCache(handle, DBR_STS_SHORT, _val, alarmStatus, alarmSeverity);
00550 };
00551 int getCache(const char * pv, dbr_short_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00552 unsigned int handle=handleHelper.getHandleFromPV(pv);
00553 return cafeSchale.getCache(handle, DBR_TIME_SHORT, _val, alarmStatus, alarmSeverity, ts);
00554 };
00555
00556 int getCache(const char * pv, dbr_string_t * _val) {
00557 unsigned int handle=handleHelper.getHandleFromPV(pv);
00558 return cafeSoluble.getCache(handle, DBR_STRING, _val);
00559 };
00560 int getCache(const char * pv, dbr_string_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00561 unsigned int handle=handleHelper.getHandleFromPV(pv);
00562 return cafeSoluble.getCache(handle, DBR_STS_STRING, _val, alarmStatus, alarmSeverity);
00563 };
00564 int getCache(const char * pv, dbr_string_t * _val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00565 unsigned int handle=handleHelper.getHandleFromPV(pv);
00566 return cafeSoluble.getCache(handle, DBR_TIME_STRING, _val, alarmStatus, alarmSeverity, ts);
00567 }
00568
00569 int getCache(const char * pv, string * valStr) {
00570 unsigned int handle=handleHelper.getHandleFromPV(pv);
00571 dbr_string_t * _val = new dbr_string_t[handleHelper.getNelemRequest(handle)];
00572 status=cafeSoluble.getCache(handle, DBR_STRING, _val);
00573 for (unsigned int i=0; i< handleHelper.getNelemRequest(handle); ++i) { valStr[i]=_val[i]; }
00574 delete [] _val; return status;
00575 };
00576 int getCache(const char * pv, string * valStr, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) {
00577 unsigned int handle=handleHelper.getHandleFromPV(pv);
00578 dbr_string_t * _val = new dbr_string_t[handleHelper.getNelemRequest(handle)];
00579 status=cafeSoluble.getCache(handle, DBR_STS_STRING, _val, alarmStatus, alarmSeverity);
00580 for (unsigned int i=0; i< handleHelper.getNelemRequest(handle); ++i) { valStr[i]=_val[i]; }
00581 delete [] _val; return status;
00582 };
00583 int getCache(const char * pv, string * valStr, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) {
00584 unsigned int handle=handleHelper.getHandleFromPV(pv);
00585 dbr_string_t * _val = new dbr_string_t[handleHelper.getNelemRequest(handle)];
00586 status=cafeSoluble.getCache(handle, DBR_TIME_STRING, _val, alarmStatus, alarmSeverity, ts);
00587 for (unsigned int i=0; i< handleHelper.getNelemRequest(handle); ++i) { valStr[i]=_val[i]; }
00588 delete [] _val; return status;
00589 }
00590
00591 #endif // CAFECACHE_H