Blame view

src/amdaXMLRequestorTool/ParseMainArguments.hh 1.61 KB
fbe3c2bb   Benjamin Renard   First commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/**
 * ParseMainArguments.hh
 *
 *  Created on: 15 oct. 2012
 *      Author: AKKA IS
 */

#ifndef PARSEMAINARGUMENTS_HH_
#define PARSEMAINARGUMENTS_HH_

#include <string>
#include <exception>
#include "log4cxx/logger.h"


#include "AMDA_exception.hh"
#include "OutputFormatTime.hh"

namespace AMDA {
namespace MainRequest {



/**
 * Exception specific for ParseMainArguments
 */
struct parseArg_error: virtual AMDA::AMDA_exception { };



/**
 *
 */
class ParseMainArguments {

public:
	/**
	 * @brief Equivalent typedef to ParamOutputASCIIFile::InfoNammeList.
	 */
	typedef std::vector<std::string> CalibrationInfoNameList;
    /**
    * Constructor
    * Return an exception if parse error
    */
    ParseMainArguments(int arcg, char *argv[]) ;


    /**
     * help message
     */
    static void printHelp(const char *name);

    /**
     * Getter of paramName
     */
	const std::string& getRequesteFile() const {
		return _requesteFile;
	}

    /**
     * Getter of _workPath
     */
	const std::string& getWorkPath() const {
		return _workPath;
	}


	/**
	 * if true, arg erreur we must stop process
	 */
	bool isStopProcess() const {
		return _stopProcess;
	}

    /*************************************/
private:

	static log4cxx::LoggerPtr logger;

    /**
     *
     */
    int parse(int argc,  char *argv[]);

    /**
     * equesteFile in arguments list
     */
    std::string _requesteFile;

    /**
     * work path in arguments list
     */
    std::string _workPath;
    
    /**
     * if true stopProcess
     */
    bool _stopProcess;
};
} /* namespace Main */
} /* namespace AMDA */


#endif /* PARSEMAINARGUMENTS_HH_ */