CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/Fireworks/Core/src/FWExpressionValidator.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWExpressionValidator_h
00002 #define Fireworks_Core_FWExpressionValidator_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWExpressionValidator
00007 //
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Fri Aug 22 20:42:49 EDT 2008
00019 // $Id: FWExpressionValidator.h,v 1.4 2012/06/26 22:13:03 wmtan Exp $
00020 //
00021 
00022 // system include files
00023 #include <vector>
00024 #include <boost/shared_ptr.hpp>
00025 #include "Reflex/Type.h"
00026 
00027 // user include files
00028 #include "Fireworks/Core/src/FWValidatorBase.h"
00029 
00030 // forward declarations
00031 namespace fireworks {
00032    class OptionNode;
00033 }
00034 
00035 class FWExpressionValidator : public FWValidatorBase {
00036 
00037 public:
00038    FWExpressionValidator();
00039    virtual ~FWExpressionValidator();
00040 
00041    // ---------- const member functions ---------------------
00042    virtual void fillOptions(const char* iBegin, const char* iEnd,
00043                             std::vector<std::pair<boost::shared_ptr<std::string>, std::string> >& oOptions) const;
00044 
00045    // ---------- static member functions --------------------
00046 
00047    // ---------- member functions ---------------------------
00048    void setType(const Reflex::Type&);
00049 
00050 private:
00051    FWExpressionValidator(const FWExpressionValidator&); // stop default
00052 
00053    const FWExpressionValidator& operator=(const FWExpressionValidator&); // stop default
00054 
00055    // ---------- member data --------------------------------
00056    Reflex::Type m_type;
00057    std::vector<boost::shared_ptr<fireworks::OptionNode> > m_options;
00058    std::vector<boost::shared_ptr<fireworks::OptionNode> > m_builtins;
00059 
00060 };
00061 
00062 
00063 #endif