source: trunk/bin/Parameter.h @ 625

Last change on this file since 625 was 625, checked in by Peter Johansson, 14 years ago

made function Parameter::help() const

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.3 KB
Line 
1#ifndef _theplu_svndigest_parameter_
2#define _theplu_svndigest_parameter_
3
4// $Id: Parameter.h 625 2008-04-23 22:44:52Z peter $
5
6/*
7  Copyright (C) 2006 Jari Häkkinen, Peter Johansson
8  Copyright (C) 2007 Peter Johansson
9
10  This file is part of svndigest, http://trac.thep.lu.se/svndigest
11
12  svndigest is free software; you can redistribute it and/or modify it
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
17  svndigest is distributed in the hope that it will be useful, but
18  WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
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
28#include "Option.h"
29
30#include <map>
31#include <string>
32
33namespace theplu {
34namespace svndigest {
35
36  // class for command line options.
37  class Parameter {
38  public:
39    Parameter( int argc, char *argv[]);
40    std::string config_file(void) const;
41    inline bool copyright(void) const { return copyright_.value(); }
42    /// @todo
43    inline bool force(void) const { return force_.value(); }
44    inline bool generate_config(void) const { return generate_config_.value(); }
45    inline bool ignore_cache(void) const { return ignore_cache_.value(); }
46    inline bool report(void) const { return report_.value(); }
47    inline bool revisions(void) const { return revisions_.value(); }
48    /// @return absolute path to root directory
49    inline const std::string& root(void) const { return root_.value(); }
50    /// @return absolute path to target directory
51    inline const std::string& targetdir(void) const 
52    { return targetdir_.value(); }
53    inline bool verbose(void) const { return verbose_.value(); }
54
55  private:
56    void analyse(void);
57    void help(void) const;
58    void version(bool=false) const;
59
60    Option<std::string> config_file_;
61    Option<bool> copyright_;
62    Option<bool> force_;
63    Option<bool> generate_config_;
64    Option<bool> ignore_cache_;
65    Option<bool> report_;
66    Option<bool> revisions_;
67    Option<std::string> root_;
68    Option<std::string> targetdir_;
69    Option<bool> verbose_;
70  };
71
72}} // of namespace svndigest and namespace theplu
73
74#endif
Note: See TracBrowser for help on using the repository browser.