bin/Parameter.h

Code
Comments
Other
Rev Date Author Line
165 24 Aug 06 jari 1 #ifndef _theplu_svndigest_parameter_
165 24 Aug 06 jari 2 #define _theplu_svndigest_parameter_
165 24 Aug 06 jari 3
37 13 Jan 06 peter 4 // $Id$
37 13 Jan 06 peter 5
84 13 Mar 06 jari 6 /*
1635 30 Mar 23 peter 7   Copyright (C) 2006 Jari Häkkinen, Peter Johansson
1635 30 Mar 23 peter 8   Copyright (C) 2007 Peter Johansson
1635 30 Mar 23 peter 9   Copyright (C) 2008 Jari Häkkinen, Peter Johansson
1017 09 Jan 10 peter 10   Copyright (C) 2009, 2010 Peter Johansson
84 13 Mar 06 jari 11
687 04 Aug 08 peter 12   This file is part of svndigest, http://dev.thep.lu.se/svndigest
84 13 Mar 06 jari 13
149 12 Aug 06 jari 14   svndigest is free software; you can redistribute it and/or modify it
84 13 Mar 06 jari 15   under the terms of the GNU General Public License as published by
693 11 Sep 08 jari 16   the Free Software Foundation; either version 3 of the License, or
84 13 Mar 06 jari 17   (at your option) any later version.
84 13 Mar 06 jari 18
149 12 Aug 06 jari 19   svndigest is distributed in the hope that it will be useful, but
84 13 Mar 06 jari 20   WITHOUT ANY WARRANTY; without even the implied warranty of
149 12 Aug 06 jari 21   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
84 13 Mar 06 jari 22   General Public License for more details.
84 13 Mar 06 jari 23
84 13 Mar 06 jari 24   You should have received a copy of the GNU General Public License
693 11 Sep 08 jari 25   along with svndigest. If not, see <http://www.gnu.org/licenses/>.
84 13 Mar 06 jari 26 */
84 13 Mar 06 jari 27
1293 14 Nov 10 peter 28 #include "AbstractParameter.h"
1293 14 Nov 10 peter 29
1119 04 Jul 10 peter 30 #include "lib/OptionVersion.h"
820 12 Sep 09 peter 31
795 30 Jun 09 peter 32 #include "yat/CommandLine.h"
795 30 Jun 09 peter 33 #include "yat/OptionArg.h"
820 12 Sep 09 peter 34 #include "yat/OptionSwitch.h"
625 23 Apr 08 peter 35
820 12 Sep 09 peter 36
37 13 Jan 06 peter 37 #include <string>
37 13 Jan 06 peter 38
37 13 Jan 06 peter 39 namespace theplu {
149 12 Aug 06 jari 40 namespace svndigest {
37 13 Jan 06 peter 41
1293 14 Nov 10 peter 42   // base class for svndigestParameter and svncopyrightParameter
1293 14 Nov 10 peter 43   class Parameter : public AbstractParameter
1293 14 Nov 10 peter 44   {
37 13 Jan 06 peter 45   public:
1060 02 Jun 10 peter 46     Parameter(void);
705 25 Nov 08 peter 47     virtual ~Parameter(void);
1060 02 Jun 10 peter 48
240 28 Apr 07 peter 49     std::string config_file(void) const;
1513 23 Sep 12 peter 50
705 25 Nov 08 peter 51     bool generate_config(void) const ;
705 25 Nov 08 peter 52     bool ignore_cache(void) const;
1264 02 Nov 10 peter 53
1060 02 Jun 10 peter 54   private:
1293 14 Nov 10 peter 55     void analyse1(void);
1060 02 Jun 10 peter 56     virtual void analyse2(void)=0;
1293 14 Nov 10 peter 57     void init1(void);
1060 02 Jun 10 peter 58     // called at end of init(void)
1060 02 Jun 10 peter 59     virtual void init2(void) = 0;
1293 14 Nov 10 peter 60     void set_default1(void);
1060 02 Jun 10 peter 61     virtual void set_default2(void)=0;
705 25 Nov 08 peter 62
820 12 Sep 09 peter 63     yat::utility::OptionArg<std::string> config_file_;
820 12 Sep 09 peter 64     yat::utility::OptionSwitch generate_config_;
820 12 Sep 09 peter 65     yat::utility::OptionSwitch ignore_cache_;
37 13 Jan 06 peter 66   };
37 13 Jan 06 peter 67
149 12 Aug 06 jari 68 }} // of namespace svndigest and namespace theplu
37 13 Jan 06 peter 69
37 13 Jan 06 peter 70 #endif