QBaseInstrument.hh
Go to the documentation of this file.00001
00013 #ifndef _QBASE_INSTRUMENT_HH_
00014 #define _QBASE_INSTRUMENT_HH_
00015
00016
00017 #include "GPIBBaseInterface.hh"
00018 #include "QSlowTypes.hh"
00019 #include "QApolloError.hh"
00020
00021
00022 class QBaseInstrument {
00023 public:
00024
00031 QBaseInstrument(GPIBBaseInterface* iFace, QSlowTypes::QSlowDevice_t type);
00032
00036 virtual ~QBaseInstrument();
00037
00038
00047 virtual const QError& GetDouble(std::string what, double& value,size_t channel)=0;
00048
00049
00058 virtual const QError& SetDouble(std::string what, double value,size_t channel)=0;
00059
00068 virtual const QError& GetBool(std::string what, bool& value,size_t channel)=0;
00069
00078 virtual const QError& SetBool(std::string what, bool value,size_t channel)=0;
00079
00088 virtual const QError& GetString(std::string what, std::string& text,size_t channel)=0;
00089
00090
00094 inline const QSlowTypes::QSlowDevice_t GetInstrumentType() const {return f_type;}
00095
00096
00100 inline GPIBBaseInterface& GetInterface() {return *f_face;}
00101
00102 protected:
00103
00107 inline QApolloError* GetApolloError() const {return f_err;}
00108
00109 private:
00110
00111 GPIBBaseInterface* f_face;
00112 QApolloError* f_err;
00114 QSlowTypes::QSlowDevice_t f_type;
00118 };
00119
00120 #endif // _QBASE_INSTRUMENT_HH_