CMS 3D CMS Logo

PythonParseTree.h

Go to the documentation of this file.
00001 #ifndef PythonParseTree_h
00002 #define PythonParseTree_h
00003 
00004 #include <string>
00005 #include <boost/python.hpp>
00006 #include "FWCore/ParameterSet/interface/ParseTree.h"
00007 #include "FWCore/Utilities/interface/EDMException.h"
00008 
00009 class PythonParseTree
00010 {
00011 public:
00012   PythonParseTree(const std::string & filename);
00013 
00015   boost::python::list modules() const;
00016 
00018   boost::python::list modulesOfType(const std::string & type) const;
00019 
00020   boost::python::list outputModules() const;
00021 
00023   void process();
00024 
00026   void replaceValue(const std::string & dotDelimitedNode,
00027                     const std::string & value);
00028 
00030   void replaceValues(const std::string & dotDelimitedNode,
00031                      boost::python::list & values);
00032 
00033   void dump(const std::string & dotDelimitedNode) const;
00034 
00035   std::string typeOf(const std::string & dotDelimitedNode) const;
00036 
00038   std::string value(const std::string & dotDelimitedNode) const;
00039 
00041   boost::python::list values(const std::string & dotDelimitedNode) const;
00042 
00044   boost::python::list children(const std::string & dotDelimitedNode) const;
00045 
00047   std::string dumpTree() const;
00048 
00050   static void exceptionTranslator(const edm::Exception & e);
00051 
00052 private:
00053 
00054   edm::pset::ParseTree theTree;
00055 
00056 };
00057 
00058 #endif
00059 

Generated on Tue Jun 9 17:36:26 2009 for CMSSW by  doxygen 1.5.4