source: trunk/bin/Parameter.h @ 687

Last change on this file since 687 was 687, checked in by Peter Johansson, 13 years ago

Merged patch release 0.6.6 to trunk. Delta 0.6.6 - 0.6.5

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.5 KB
RevLine 
[165]1#ifndef _theplu_svndigest_parameter_
2#define _theplu_svndigest_parameter_
3
[37]4// $Id: Parameter.h 687 2008-08-04 19:37:10Z peter $
5
[84]6/*
7  Copyright (C) 2006 Jari Häkkinen, Peter Johansson
[225]8  Copyright (C) 2007 Peter Johansson
[84]9
[687]10  This file is part of svndigest, http://dev.thep.lu.se/svndigest
[84]11
[149]12  svndigest is free software; you can redistribute it and/or modify it
[84]13  under the terms of the GNU General Public License as published by
14  the Free Software Foundation; either version 2 of the License, or
15  (at your option) any later version.
16
[149]17  svndigest is distributed in the hope that it will be useful, but
[84]18  WITHOUT ANY WARRANTY; without even the implied warranty of
[149]19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[84]20  General Public License for more details.
21
22  You should have received a copy of the GNU General Public License
23  along with this program; if not, write to the Free Software
24  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25  02111-1307, USA.
26*/
27
[625]28#include "Option.h"
29
[225]30#include <map>
[37]31#include <string>
32
33namespace theplu {
[149]34namespace svndigest {
[37]35
36  // class for command line options.
37  class Parameter {
38  public:
[518]39    Parameter( int argc, char *argv[]);
[240]40    std::string config_file(void) const;
[625]41    inline bool copyright(void) const { return copyright_.value(); }
[225]42    /// @todo
[625]43    inline bool force(void) const { return force_.value(); }
44    inline bool generate_config(void) const { return generate_config_.value(); }
[650]45    inline bool ignore_cache(void) const { return ignore_cache_.value(); }
[625]46    inline bool report(void) const { return report_.value(); }
47    inline bool revisions(void) const { return revisions_.value(); }
[116]48    /// @return absolute path to root directory
[625]49    inline const std::string& root(void) const { return root_.value(); }
[632]50    /// @return absolute path to root node
51    inline const std::string& root_node(void) const {return root_node_.value();}
[116]52    /// @return absolute path to target directory
[625]53    inline const std::string& targetdir(void) const 
54    { return targetdir_.value(); }
55    inline bool verbose(void) const { return verbose_.value(); }
[37]56
57  private:
58    void analyse(void);
[625]59    void help(void) const;
[626]60    void missing_argument(std::string opt) const;
[540]61    void version(bool=false) const;
[37]62
[625]63    Option<std::string> config_file_;
64    Option<bool> copyright_;
65    Option<bool> force_;
66    Option<bool> generate_config_;
67    Option<bool> ignore_cache_;
68    Option<bool> report_;
69    Option<bool> revisions_;
70    Option<std::string> root_;
[632]71    Option<std::string> root_node_;
[625]72    Option<std::string> targetdir_;
73    Option<bool> verbose_;
[37]74  };
75
[149]76}} // of namespace svndigest and namespace theplu
[37]77
78#endif
Note: See TracBrowser for help on using the repository browser.