00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef CAFEROAST_H
00011 #define CAFEROAST_H
00012
00013
00014 int setAndGet (const unsigned int handleSet, dbr_double_t valSet, dbr_double_t &valGet) {
00015 status=cafeDoppio.setAndGet((unsigned int) handleSet, DBR_DOUBLE, valSet, valGet);
00016 return status;
00017 }
00018 int setAndGet (const unsigned int handleSet, dbr_float_t valSet, dbr_float_t &valGet) {
00019 status=cafeFrappuccino.setAndGet((unsigned int) handleSet, DBR_FLOAT, valSet, valGet);
00020 return status;
00021 }
00022 int setAndGet (const unsigned int handleSet, dbr_char_t valSet, dbr_char_t &valGet) {
00023 status=cafeCappuccino.setAndGet((unsigned int) handleSet, DBR_CHAR, valSet, valGet);
00024 return status;
00025 }
00026 int setAndGet (const unsigned int handleSet, dbr_enum_t valSet, dbr_enum_t &valGet) {
00027 status=cafeEspresso.setAndGet((unsigned int) handleSet, DBR_ENUM, valSet, valGet);
00028 return status;
00029 }
00030 int setAndGet (const unsigned int handleSet, dbr_short_t valSet, dbr_short_t &valGet) {
00031 status=cafeSchale.setAndGet((unsigned int) handleSet, DBR_SHORT, valSet, valGet);
00032 return status;
00033 }
00034 int setAndGet (const unsigned int handleSet, dbr_long_t valSet, dbr_long_t &valGet) {
00035 status=cafeLatte.setAndGet((unsigned int) handleSet, DBR_LONG, valSet, valGet);
00036 return status;
00037 }
00038 int setAndGet (const unsigned int handleSet, long long valSet, long long &valGet) {
00039 double valSetD=valSet; double valGetD=0;
00040 status=cafeDoppio.setAndGet((unsigned int) handleSet, DBR_DOUBLE, valSetD, valGetD);
00041 valGet=(long long) valGetD;
00042 return status;
00043 }
00044 int setAndGet (const unsigned int handleSet, dbr_string_t valSet, dbr_string_t &valGet) {
00045 status=cafeSoluble.setAndGetDbrString((unsigned int) handleSet, valSet, valGet);
00046 return status;
00047 }
00048 int setAndGet (const unsigned int handleSet, string valSet, string &valGet) {
00049 status=cafeSoluble.setAndGetString((unsigned int) handleSet, valSet, valGet);
00050 return status;
00051 }
00052
00053
00054 int match(dbr_double_t valSet, unsigned int handleMatch,
00055 dbr_double_t tolerance, double timeout, bool printFlag){
00056 return cafeDoppio.match(DBR_DOUBLE, valSet, handleMatch, tolerance, timeout, printFlag);
00057 }
00058
00059
00060 int match(dbr_float_t valSet, unsigned int handleMatch,
00061 dbr_float_t tolerance, double timeout, bool printFlag){
00062 return cafeFrappuccino.match(DBR_FLOAT, valSet, handleMatch, tolerance, timeout, printFlag);
00063 }
00064
00065
00066 int match(dbr_char_t valSet, unsigned int handleMatch,
00067 dbr_char_t tolerance, double timeout, bool printFlag){
00068 return cafeCappuccino.match(DBR_CHAR, valSet, handleMatch, tolerance, timeout, printFlag);
00069 }
00070
00071 int match(dbr_enum_t valSet, unsigned int handleMatch,
00072 dbr_enum_t tolerance, double timeout, bool printFlag){
00073 return cafeEspresso.match(DBR_ENUM, valSet, handleMatch, tolerance, timeout, printFlag);
00074 }
00075
00076 int match(dbr_short_t valSet, unsigned int handleMatch,
00077 dbr_short_t tolerance, double timeout, bool printFlag){
00078 return cafeSchale.match(DBR_SHORT, valSet, handleMatch, tolerance, timeout, printFlag);
00079 }
00080
00081
00082 int match(dbr_long_t valSet, unsigned int handleMatch,
00083 dbr_long_t tolerance, double timeout, bool printFlag){
00084 return cafeLatte.match(DBR_LONG, valSet, handleMatch, tolerance, timeout, printFlag);
00085 }
00086
00087
00088 int match(long long valSet, unsigned int handleMatch,
00089 long long tolerance, double timeout, bool printFlag){
00090 dbr_double_t valSetDouble=valSet;
00091 dbr_double_t toleranceDouble = tolerance;
00092 return cafeDoppio.match(DBR_DOUBLE, valSetDouble, handleMatch, toleranceDouble, timeout, printFlag);
00093 }
00094
00095 int match(string valSet, unsigned int handleMatch,
00096 string tolerance, double timeout, bool printFlag){
00097 #define __METHOD__ "match (string valSet, unsigned int handleMatch,\
00098 string tolerance, double timeout, bool printFlag)"
00099
00100 istringstream ss;
00101 dbr_double_t d=0; dbr_double_t valSetDouble=0; dbr_double_t toleranceDouble = 0;
00102 ss.clear();
00103 ss.str(valSet);
00104 ss>>d;
00105
00106 if ( !ss.fail()) {
00107 valSetDouble=d;
00108 }
00109 else {
00110 cout << __METHOD__ << __LINE__ << endl;
00111 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00112 cout << "***WARNING*** COULD NOT CONVERT: ";
00113 cout << valSet;
00114 cout << " TO DOUBLE!" << endl;
00115 return ECAFE_NO_CONVERT;
00116 }
00117 d=0;
00118 ss.clear();
00119 ss.str(tolerance);
00120 ss>>d;
00121
00122 if ( !ss.fail()) {
00123 toleranceDouble=d;
00124 }
00125 else {
00126 cout << __METHOD__ << __LINE__ << endl;
00127 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00128 cout << "***WARNING*** COULD NOT CONVERT: ";
00129 cout << tolerance;
00130 cout << " TO DOUBLE!" << endl;
00131 return ECAFE_NO_CONVERT;
00132 }
00133
00134 return cafeDoppio.match(DBR_DOUBLE, valSetDouble, handleMatch, toleranceDouble, timeout, printFlag);
00135 #undef __METHOD__
00136 }
00137
00138
00139
00140 int match(dbr_string_t valSet, unsigned int handleMatch,
00141 dbr_string_t tolerance, double timeout, bool printFlag){
00142 #define __METHOD__ "match (dbr_string_t valSet, unsigned int handleMatch,\
00143 dbr_string_t tolerance, double timeout, bool printFlag)"
00144 istringstream ss;
00145 dbr_double_t d=0; dbr_double_t valSetDouble=0; dbr_double_t toleranceDouble = 0;
00146 ss.clear();
00147 ss.str(valSet);
00148 ss>>d;
00149
00150 if ( !ss.fail()) {
00151 valSetDouble=d;
00152 }
00153 else {
00154 cout << __METHOD__ << __LINE__ << endl;
00155 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00156 cout << "***WARNING*** COULD NOT CONVERT: ";
00157 cout << valSet;
00158 cout << " TO DOUBLE!" << endl;
00159 return ECAFE_NO_CONVERT;
00160 }
00161 d=0;
00162 ss.clear();
00163 ss.str(tolerance);
00164 ss>>d;
00165
00166 if ( !ss.fail()) {
00167 toleranceDouble=d;
00168 }
00169 else {
00170 cout << __METHOD__ << __LINE__ << endl;
00171 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00172 cout << "***WARNING*** COULD NOT CONVERT: ";
00173 cout << tolerance;
00174 cout << " TO DOUBLE!" << endl;
00175 return ECAFE_NO_CONVERT;
00176 }
00177
00178 return cafeDoppio.match(DBR_DOUBLE, valSetDouble, handleMatch, toleranceDouble, timeout, printFlag);
00179 #undef __METHOD__
00180 }
00181
00182
00183 int matchMany(vector<dbr_double_t> valSet, vector<unsigned int> handleMatch,
00184 dbr_double_t tolerance, double timeout, bool printFlag){
00185 return cafeDoppio.matchMany(DBR_DOUBLE, valSet, handleMatch, tolerance, timeout, printFlag);
00186 }
00187
00188
00189 int matchMany(vector<dbr_float_t> valSet, vector<unsigned int> handleMatch,
00190 dbr_float_t tolerance, double timeout, bool printFlag){
00191 return cafeFrappuccino.matchMany(DBR_FLOAT, valSet, handleMatch, tolerance, timeout, printFlag);
00192 }
00193
00194
00195 int matchMany(vector<dbr_char_t> valSet, vector<unsigned int> handleMatch,
00196 dbr_char_t tolerance, double timeout, bool printFlag){
00197 return cafeCappuccino.matchMany(DBR_CHAR, valSet, handleMatch, tolerance, timeout, printFlag);
00198 }
00199
00200 int matchMany(vector<dbr_enum_t> valSet, vector<unsigned int> handleMatch,
00201 dbr_enum_t tolerance, double timeout, bool printFlag){
00202 return cafeEspresso.matchMany(DBR_ENUM, valSet, handleMatch, tolerance, timeout, printFlag);
00203 }
00204
00205 int matchMany(vector<dbr_short_t> valSet, vector<unsigned int> handleMatch,
00206 dbr_short_t tolerance, double timeout, bool printFlag){
00207 return cafeSchale.matchMany(DBR_SHORT, valSet, handleMatch, tolerance, timeout, printFlag);
00208 }
00209
00210
00211 int matchMany(vector<dbr_long_t> valSet, vector<unsigned int> handleMatch,
00212 dbr_long_t tolerance, double timeout, bool printFlag){
00213 return cafeLatte.matchMany(DBR_LONG, valSet, handleMatch, tolerance, timeout, printFlag);
00214 }
00215
00216
00217 int matchMany(vector<long long> valSet, vector<unsigned int> handleMatch,
00218 long long tolerance, double timeout, bool printFlag){
00219
00220 vector<dbr_double_t> valSetDoubleV;
00221 valSetDoubleV.reserve(valSet.size());
00222
00223 std::copy(valSet.begin(), valSet.end(),
00224 std::back_inserter(valSetDoubleV));
00225
00226 dbr_double_t toleranceDouble = tolerance;
00227
00228 return cafeDoppio.matchMany(DBR_DOUBLE, valSetDoubleV, handleMatch, toleranceDouble, timeout, printFlag);
00229 }
00230
00231 int matchMany(vector<string> valSetV, vector<unsigned int> handleMatchV,
00232 string tolerance, double timeout, bool printFlag){
00233 #define __METHOD__ "matchMany (vector<string> valSetV, vector<unsigned int> handleMatchV, \
00234 string tolerance, double timeout, bool printFlag)"
00235
00236 vector<dbr_double_t> valSetDoubleV;
00237
00238 istringstream ss;
00239 dbr_double_t d=0; dbr_double_t toleranceDouble = 0;
00240 for (size_t i=0; i< valSetV.size(); ++i) {
00241 d=0;
00242 ss.clear();
00243 ss.str(valSetV[i]);
00244 ss>>d;
00245
00246 if ( !ss.fail()) {
00247 valSetDoubleV.push_back(d);
00248 }
00249 else {
00250 cout << __METHOD__ << __LINE__ << endl;
00251 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00252 cout << "***WARNING*** COULD NOT CONVERT: ";
00253 cout << valSetV[i];
00254 cout << " TO DOUBLE!" << endl;
00255 return ECAFE_NO_CONVERT;
00256 }
00257 }
00258
00259 d=0;
00260 ss.clear();
00261 ss.str(tolerance);
00262 ss>>d;
00263
00264 if ( !ss.fail()) {
00265 toleranceDouble=d;
00266 }
00267 else {
00268 cout << __METHOD__ << __LINE__ << endl;
00269 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00270 cout << "***WARNING*** COULD NOT CONVERT: ";
00271 cout << tolerance;
00272 cout << " TO DOUBLE!" << endl;
00273 return ECAFE_NO_CONVERT;
00274 }
00275
00276 return cafeDoppio.matchMany(DBR_DOUBLE, valSetDoubleV, handleMatchV, toleranceDouble, timeout, printFlag);
00277 #undef __METHOD__
00278 }
00279
00280
00281
00282
00283 int setAndMatchMany(vector<unsigned int> handleSet, vector<dbr_double_t> valSet, vector<unsigned int> handleMatch,
00284 dbr_double_t tolerance, double timeout, bool printFlag){
00285 return cafeDoppio.setAndMatchMany(handleSet, DBR_DOUBLE, valSet, handleMatch, tolerance, timeout, printFlag);
00286 }
00287
00288
00289 int setAndMatchMany(vector<unsigned int> handleSet, vector<dbr_float_t> valSet, vector<unsigned int> handleMatch,
00290 dbr_float_t tolerance, double timeout, bool printFlag){
00291 return cafeFrappuccino.setAndMatchMany(handleSet, DBR_FLOAT, valSet, handleMatch, tolerance, timeout, printFlag);
00292 }
00293
00294
00295 int setAndMatchMany(vector<unsigned int> handleSet, vector<dbr_char_t> valSet, vector<unsigned int> handleMatch,
00296 dbr_char_t tolerance, double timeout, bool printFlag){
00297 return cafeCappuccino.setAndMatchMany(handleSet, DBR_CHAR, valSet, handleMatch, tolerance, timeout, printFlag);
00298 }
00299
00300
00301 int setAndMatchMany(vector<unsigned int> handleSet, vector<dbr_enum_t> valSet, vector<unsigned int> handleMatch,
00302 dbr_enum_t tolerance, double timeout, bool printFlag){
00303 return cafeEspresso.setAndMatchMany(handleSet, DBR_ENUM, valSet, handleMatch, tolerance, timeout, printFlag);
00304 }
00305
00306 int setAndMatchMany(vector<unsigned int> handleSet, vector<dbr_short_t> valSet, vector<unsigned int> handleMatch,
00307 dbr_short_t tolerance, double timeout, bool printFlag){
00308 return cafeSchale.setAndMatchMany(handleSet, DBR_SHORT, valSet, handleMatch, tolerance, timeout, printFlag);
00309 }
00310
00311
00312 int setAndMatchMany(vector<unsigned int> handleSet, vector<dbr_long_t> valSet, vector<unsigned int> handleMatch,
00313 dbr_long_t tolerance, double timeout, bool printFlag){
00314 return cafeLatte.setAndMatchMany(handleSet, DBR_LONG, valSet, handleMatch, tolerance, timeout, printFlag);
00315 }
00316
00317
00318 int setAndMatchMany(vector<unsigned int> handleSet, vector<long long> valSet, vector<unsigned int> handleMatch,
00319 long long tolerance, double timeout, bool printFlag){
00320
00321 vector<dbr_double_t> valSetDoubleV;
00322 valSetDoubleV.reserve(valSet.size());
00323
00324 std::copy(valSet.begin(), valSet.end(),
00325 std::back_inserter(valSetDoubleV));
00326
00327 dbr_double_t toleranceDouble = tolerance;
00328
00329 return cafeDoppio.setAndMatchMany(handleSet, DBR_DOUBLE, valSetDoubleV, handleMatch, toleranceDouble, timeout, printFlag);
00330 }
00331
00332
00333 int setAndMatchMany(vector<unsigned int> handleSetV, vector<string> valSetV, vector<unsigned int> handleMatchV,
00334 string tolerance, double timeout, bool printFlag){
00335 #define __METHOD__ "setAndMatchMany (vector<unsigned int> handleSetV, vector<string> valSetV, vector<unsigned int> handleMatchV, \
00336 string tolerance, double timeout, bool printFlag)"
00337
00338 vector<dbr_double_t> valSetDoubleV;
00339
00340 istringstream ss;
00341 dbr_double_t d=0; dbr_double_t toleranceDouble = 0;
00342 for (size_t i=0; i< valSetV.size(); ++i) {
00343 d=0;
00344 ss.clear();
00345 ss.str(valSetV[i]);
00346 ss>>d;
00347
00348 if ( !ss.fail()) {
00349 valSetDoubleV.push_back(d);
00350 }
00351 else {
00352 cout << __METHOD__ << __LINE__ << endl;
00353 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00354 cout << "***WARNING*** COULD NOT CONVERT: ";
00355 cout << valSetV[i];
00356 cout << " TO DOUBLE!" << endl;
00357 return ECAFE_NO_CONVERT;
00358 }
00359 }
00360
00361 d=0;
00362 ss.clear();
00363 ss.str(tolerance);
00364 ss>>d;
00365
00366 if ( !ss.fail()) {
00367 toleranceDouble=d;
00368 }
00369 else {
00370 cout << __METHOD__ << __LINE__ << endl;
00371 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00372 cout << "***WARNING*** COULD NOT CONVERT: ";
00373 cout << tolerance;
00374 cout << " TO DOUBLE!" << endl;
00375 return ECAFE_NO_CONVERT;
00376 }
00377
00378 return cafeDoppio.setAndMatchMany(handleSetV, DBR_DOUBLE, valSetDoubleV, handleMatchV, toleranceDouble, timeout, printFlag);
00379 #undef __METHOD__
00380
00381 }
00382
00383
00384
00385
00386 int setAndMatch(const unsigned int handleSet, dbr_double_t valSet, const unsigned int handleMatch,
00387 dbr_double_t tolerance, double timeout, bool printFlag){
00388 return cafeDoppio.setAndMatch(handleSet, DBR_DOUBLE, valSet, handleMatch, tolerance, timeout, printFlag);
00389 }
00390
00391 int setAndMatch(const unsigned int handleSet, dbr_float_t valSet, const unsigned int handleMatch,
00392 dbr_float_t tolerance, double timeout, bool printFlag){
00393 return cafeFrappuccino.setAndMatch(handleSet, DBR_FLOAT, valSet, handleMatch, tolerance, timeout, printFlag);
00394 }
00395
00396 int setAndMatch(const unsigned int handleSet, dbr_char_t valSet, const unsigned int handleMatch,
00397 dbr_char_t tolerance, double timeout, bool printFlag){
00398 return cafeCappuccino.setAndMatch(handleSet, DBR_CHAR, valSet, handleMatch, tolerance, timeout, printFlag);
00399 }
00400
00401 int setAndMatch(const unsigned int handleSet, dbr_enum_t valSet, const unsigned int handleMatch,
00402 dbr_enum_t tolerance, double timeout, bool printFlag){
00403 return cafeEspresso.setAndMatch(handleSet, DBR_ENUM, valSet, handleMatch, tolerance, timeout, printFlag);
00404 }
00405
00406 int setAndMatch(const unsigned int handleSet, dbr_short_t valSet, const unsigned int handleMatch,
00407 dbr_short_t tolerance, double timeout, bool printFlag){
00408 return cafeSchale.setAndMatch(handleSet, DBR_SHORT, valSet, handleMatch, tolerance, timeout, printFlag);
00409 }
00410
00411 int setAndMatch(const unsigned int handleSet, dbr_long_t valSet, const unsigned int handleMatch,
00412 dbr_long_t tolerance, double timeout, bool printFlag){
00413 return cafeLatte.setAndMatch(handleSet, DBR_LONG, valSet, handleMatch, tolerance, timeout, printFlag);
00414 }
00415 int setAndMatch(const unsigned int handleSet, long long valSet, const unsigned int handleMatch,
00416 long long tolerance, double timeout, bool printFlag){
00417 dbr_double_t valSetDouble=valSet;
00418 dbr_double_t toleranceDouble = tolerance;
00419 return cafeDoppio.setAndMatch(handleSet, DBR_DOUBLE, valSetDouble, handleMatch, toleranceDouble, timeout, printFlag);
00420 }
00421
00422
00423 int setAndMatch(const unsigned int handleSet, dbr_string_t valSet, const unsigned int handleMatch,
00424 dbr_string_t tolerance, double timeout, bool printFlag){
00425 #define __METHOD__ "setAndMatch (dbr_string_t input)"
00426 istringstream ss;
00427 dbr_double_t d=0; dbr_double_t valSetDouble=0; dbr_double_t toleranceDouble = 0;
00428 ss.clear();
00429 ss.str(valSet);
00430 ss>>d;
00431
00432 if ( !ss.fail()) {
00433 valSetDouble=d;
00434 }
00435 else {
00436 cout << __METHOD__ << __LINE__ << endl;
00437 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00438 cout << "***WARNING*** COULD NOT CONVERT: ";
00439 cout << valSet;
00440 cout << " TO DOUBLE!" << endl;
00441 return ECAFE_NO_CONVERT;
00442 }
00443 d=0;
00444 ss.clear();
00445 ss.str(tolerance);
00446 ss>>d;
00447
00448 if ( !ss.fail()) {
00449 toleranceDouble=d;
00450 }
00451 else {
00452 cout << __METHOD__ << __LINE__ << endl;
00453 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00454 cout << "***WARNING*** COULD NOT CONVERT: ";
00455 cout << tolerance;
00456 cout << " TO DOUBLE!" << endl;
00457 return ECAFE_NO_CONVERT;
00458 }
00459
00460 return cafeDoppio.setAndMatch(handleSet, DBR_DOUBLE, valSetDouble, handleMatch, toleranceDouble, timeout, printFlag);
00461 #undef __METHOD__
00462 }
00463
00464 int setAndMatch(const unsigned int handleSet, string valSet, const unsigned int handleMatch,
00465 string tolerance, double timeout, bool printFlag){
00466 #define __METHOD__ "setAndMatch (string input)"
00467 istringstream ss;
00468 dbr_double_t d=0; dbr_double_t valSetDouble=0; dbr_double_t toleranceDouble = 0;
00469 ss.clear();
00470 ss.str(valSet);
00471 ss>>d;
00472
00473 if ( !ss.fail()) {
00474 valSetDouble=d;
00475 }
00476 else {
00477 cout << __METHOD__ << __LINE__ << endl;
00478 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00479 cout << "***WARNING*** COULD NOT CONVERT: ";
00480 cout << valSet;
00481 cout << " TO DOUBLE!" << endl;
00482 return ECAFE_NO_CONVERT;
00483 }
00484 d=0;
00485 ss.clear();
00486 ss.str(tolerance);
00487 ss>>d;
00488
00489 if ( !ss.fail()) {
00490 toleranceDouble=d;
00491 }
00492 else {
00493 cout << __METHOD__ << __LINE__ << endl;
00494 cout << "***WARNING*** NO STRING TO DBR_DOUBLE CONVERSION " << endl;
00495 cout << "***WARNING*** COULD NOT CONVERT: ";
00496 cout << tolerance;
00497 cout << " TO DOUBLE!" << endl;
00498 return ECAFE_NO_CONVERT;
00499 }
00500
00501 return cafeDoppio.setAndMatch(handleSet, DBR_DOUBLE, valSetDouble, handleMatch, toleranceDouble, timeout, printFlag);
00502 #undef __METHOD__
00503 }
00504
00505 #endif // CAFEROAST_H