Blame view

src/ParamOutputImpl/Download/ParamProperties.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
/*
 * ParamProperties.hh
 *
 *  Created on: Oct 1, 2014
 *      Author: m.mazel
 */

#ifndef PARAMPROPERTIES_HH_
#define PARAMPROPERTIES_HH_

#include <string>
#include <vector>

#include "OutputFormatTime.hh"

namespace AMDA {
namespace ParamOutputImpl {
namespace Download {

typedef std::vector<std::string> ParamIndexDefList;
typedef std::vector<std::string> ParamCalibrationInfoList;

/**
 * @class ParamProperties
 * @brief Parameter properties for a download request.
 * @details
 */
class ParamProperties {
public:
	ParamProperties();
	virtual ~ParamProperties();

	//Original parameter id is the parameter id defined in the request
	const std::string& getOriginalId() const;
	void setOriginalId(const std::string& id);

	//Output parameter id is the parameter id used for the output
	//(originalId can be different to outputId when a resampling is needed by the request)
	//This id is set during the createParameters step of the download output
	const std::string& getOutputId() const;
	void setOutputId(const std::string& id);

	ParamIndexDefList& getIndexDefList();
	void addIndexDef (std::string index);
	ParamCalibrationInfoList& getCalibrationInfoList();
	void addCalibrationInfo (const std::string &calibrationInfo);

private:
	/**
	 * parameter original id
	 */
	std::string	_originalId;

	/**
	 * parameter output id
	 */
	std::string	_outputId;

	/**
	 * Parameter index definition list
	 */
	ParamIndexDefList	_indexDefList;

	/**
	 * Parameter calibration info list
	 */
	ParamCalibrationInfoList	_calibrationInfoList;
};

} // namespace Download
} // namespace ParamOutputImpl
} // namespace AMDA

#endif /* PARAMPROPERTIES_HH_ */