LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenBase - EvtParserXml.hh (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 3 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 3 0.0 %

          Line data    Source code
       1             : //--------------------------------------------------------------------------
       2             : //
       3             : // Environment:
       4             : //      This software is part of the EvtGen package developed jointly
       5             : //      for the BaBar and CLEO collaborations.  If you use all or part
       6             : //      of it, please give an appropriate acknowledgement.
       7             : //
       8             : // Copyright Information: See EvtGen/COPYRIGHT
       9             : //      Copyright (C) 1998      Caltech, UCSB
      10             : //
      11             : // Module: EvtGen/EvtParserXml.hh
      12             : //
      13             : // Description:
      14             : //
      15             : // Modification history:
      16             : //
      17             : //    DCC     24 October, 2011         Module created
      18             : //
      19             : //------------------------------------------------------------------------
      20             : 
      21             : #ifndef EVTPARSERXML_HH
      22             : #define EVTPARSERXML_HH
      23             : 
      24             : #include <string>
      25             : #include <vector>
      26             : 
      27             : #include <fstream>
      28             : 
      29             : class EvtParserXml {
      30             : public:
      31             :   EvtParserXml();
      32             :   ~EvtParserXml();
      33             : 
      34             :   bool open(std::string filename);
      35             :   bool close();
      36             : 
      37             :   bool readNextTag();
      38             : 
      39           0 :   std::string getTagTitle() { return _tagTitle; }
      40             :   std::string getParentTagTitle();
      41           0 :   int getLineNumber() { return _lineNo; }
      42           0 :   bool isTagInline() { return _inLineTag; }
      43             :   
      44             :   std::string readAttribute(std::string attribute, std::string defaultValue="");
      45             :   bool readAttributeBool(std::string attribute, bool defaultValue=false);
      46             :   int readAttributeInt(std::string attribute, int defaultValue=-1);
      47             :   double readAttributeDouble(std::string attribute, double defaultValue=-1.);
      48             : 
      49             : private:
      50             : 
      51             :   std::ifstream _fin;
      52             :   std::string _line;
      53             :   int _lineNo;
      54             : 
      55             :   std::string _tag;
      56             :   std::string _tagTitle;
      57             :   bool _inLineTag;
      58             :   std::vector<std::string> _tagTree;
      59             : 
      60             :   bool processTagTree();
      61             : 
      62             :   bool expandEnvVars(std::string& str);
      63             :   bool isAlphaNum(char c);
      64             : }; 
      65             : 
      66             : #endif
      67             : 

Generated by: LCOV version 1.11