cafeDataTypeHelper.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef CAFEDATATYPEHELPER_H
00009 #define CAFEDATATYPEHELP_H
00010  
00011 #include <cadef.h>
00012 #include <iostream>
00013 #include <string>
00014 #include <map>
00015 #include <cafeDataType.h>
00016 
00017 class CafeDataTypeHelper{
00018 private:
00019     CAFE_DATATYPE_UNION cdu;
00020     CAFE_DATATYPE  dataType;
00021 
00022 public:
00023     CafeDataTypeHelper(CAFE_DATATYPE_UNION _cdu, CAFE_DATATYPE _dataType){
00024         cdu=_cdu;
00025         dataType=_dataType;
00026     };
00027     
00028     ~CafeDataTypeHelper(){};
00029 
00030     CAFEConvert<double> renderDouble;
00031     CAFEConvert<float>  renderFloat;
00032     CAFEConvert<short>  renderShort;
00033     //CAFEConvert<int>  renderLong;
00034     CAFEConvert<unsigned short> renderEnum;
00035     CAFEConvert<unsigned char>  renderUChar;
00036     CAFEConvert<dbr_string_t>   renderString;
00037 
00038     CAFEConvert<char> renderChar;
00039     //CAFEConvert<unsigned int>  renderULong;
00040     CAFEConvert<long long>          renderLongLong;
00041     CAFEConvert<unsigned long long> renderULongLong;
00042 
00043     CAFEConvert<int>           renderInt;
00044     CAFEConvert<unsigned int>  renderUInt;
00045 
00046     std::string getAsString(){
00047         return (std::string) renderString.getString(dataType, cdu)[0];
00048     };
00049     dbr_string_t * getAsDbr_string_t(){
00050         return (dbr_string_t *) (renderString.getString(dataType, cdu)[0]);
00051     };
00052     double getAsDouble(){return (double) renderDouble.get(dataType, cdu)[0];};
00053     float  getAsFloat() {return (float) renderFloat.get (dataType, cdu)[0];};
00054     short  getAsShort() {return (short) renderShort.get(dataType, cdu)[0];};
00055     dbr_enum_t getAsEnum(){return (dbr_enum_t) renderEnum.get(dataType, cdu)[0];};
00056     unsigned short getAsUShort(){return (unsigned short) renderEnum.get(dataType, cdu)[0];};
00057     int  getAsInt()   {return (int) renderInt.get(dataType, cdu)[0];};
00058     unsigned int  getAsUInt()   {return (int) renderUInt.get(dataType, cdu)[0];};
00059     char getAsChar() {return (char) renderChar.get(dataType, cdu)[0];};
00060     unsigned char getAsUChar(){return (unsigned char) renderUChar.get(dataType, cdu)[0];};
00061     long long  getAsLongLong()   {return (long long) renderLongLong.get(dataType, cdu)[0];};
00062     unsigned int  getAsULongLong()   {return (unsigned long long) renderULongLong.get(dataType, cdu)[0];};
00063 };
00064 
00065 #endif

Generated on 3 May 2017 for CAFE by  doxygen 1.6.1