source: trunk/bin/Parameter.cc @ 37

Last change on this file since 37 was 37, checked in by Peter Johansson, 16 years ago

added Parameter class and main doing nothing.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.1 KB
Line 
1// $Id: Parameter.cc 37 2006-01-13 10:22:05Z peter $
2
3#include "Parameter.h"
4
5#include <iostream>
6#include <string>
7
8namespace theplu {
9namespace svnstat {
10
11  Parameter::Parameter(const int argc,const char *argv[])
12    : force_(false), outdir_("svnstat"), root_("."), verbose_(false)
13  {
14 
15    for (int i=1; i<argc; i++) {
16      bool ok=false;
17      std::string myargv(argv[i]);
18      if (myargv=="-d" || myargv=="-dir"){
19        if (++i<argc){
20          outdir_= std::string(argv[i]);
21          ok=true;
22        }
23      }
24      else if (myargv=="-f" || myargv=="-force"){
25          force_=true;
26          ok=true;
27      }
28      else if (myargv=="-h" || myargv=="-help"){
29        help();
30        exit(0);      // always exit after printing help
31      }
32      else if (myargv=="-v" || myargv=="-verbose"){
33          verbose_=true;
34          ok=true;
35      }
36      else if (myargv=="-version"){
37          version();
38          exit(0);
39      }
40      else if (i==argc){
41        root_= myargv;
42        ok = true;
43      }
44      if (!ok){
45        std::cerr << "svnstat: invalid option: " << myargv << "\n"
46                  << "Type 'svnstat -help' for usage." << std::endl;
47        exit(-1);
48      }
49    }
50
51    analyse();
52  }
53
54
55
56  void Parameter::analyse(void)
57  {
58  }
59
60 
61
62  void Parameter::help(void)
63  {
64    std::cout << "usage: svnstat [options] [path]\n"
65              << "\n"
66              << "svnstat traverses a directory structure (controlled by\n"
67              << "subversion) and calculates developer statistics entries.\n"
68              << "Path is the top level directory of the directory structure\n"
69              << "to traverse. If no PATH is given, it will start in the\n"
70              << "current directory by default. The result is written to a\n"
71              << "sub-directory, svnstat, that is created in the current\n"
72              << "working directory.\n"
73              << "\n"
74              << "Valid options:\n"
75              << "  -d(ir) arg   : output directory [svnstat]\n"
76              << "  -f(orce)     : overwrite existing files\n"
77              << "  -h(elp)      : display this help and exit\n"
78              << "  -v(erbose)   : explain what is being done\n"
79              << "  -version     : print version information and exit\n"
80              << std::endl;
81  }
82
83
84  void Parameter::version(void)
85  {
86    std::cout << "svnstat 0.1\n"
87              << "Written by Jari Hakkinen and Peter Johansson.\n"
88              << std::endl;
89  }
90
91}} // of namespace wenni and namespace theplu
Note: See TracBrowser for help on using the repository browser.