CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Fireworks/Core/interface/FWItemValueGetter.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWItemValueGetter_h
00002 #define Fireworks_Core_FWItemValueGetter_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWItemValueGetter
00007 //
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Sun Nov 30 16:14:58 EST 2008
00019 // $Id: FWItemValueGetter.h,v 1.3 2010/08/18 10:30:10 amraktad Exp $
00020 //
00021 
00022 // system include files
00023 #include <string>
00024 #include <vector>
00025 #include "Reflex/Member.h"
00026 #include "Reflex/Type.h"
00027 // user include files
00028 
00029 // forward declarations
00030 
00031 class FWItemValueGetter {
00032 
00033 public:
00034    FWItemValueGetter(const ROOT::Reflex::Type&,
00035                      const std::vector<std::pair<std::string, std::string> >& iFindValueFrom);
00036    //virtual ~FWItemValueGetter();
00037 
00038    // ---------- const member functions ---------------------
00039    double valueFor(const void*) const;
00040    const std::string& stringValueFor(const void*) const;
00041 
00042    bool isValid() const;
00043 
00044    std::string valueName() const;
00045    const std::string& unit() const;
00046    // ---------- static member functions --------------------
00047 
00048    // ---------- member functions ---------------------------
00049    void setValueAndUnit(const std::string& iValue, const std::string& iUnit);
00050 
00051 private:
00052    //FWItemValueGetter(const FWItemValueGetter&); // stop default
00053 
00054    //const FWItemValueGetter& operator=(const FWItemValueGetter&); // stop default
00055 
00056    // ---------- member data --------------------------------
00057    ROOT::Reflex::Type m_type;
00058    ROOT::Reflex::Member m_memberFunction;
00059    std::string m_unit;
00060 };
00061 
00062 
00063 #endif