TransformationRequest.h 2.54 KB
#ifndef TRANSFORMATIONREQUEST_H
#define TRANSFORMATIONREQUEST_H

#include <string>
#include <iostream>

#include "../Common/TREPSTypes.h"
#include "../DataRecord/DataRecordList.h"

using namespace std;
using namespace TREPS::Common;
using namespace TREPS::DataRecord;

namespace TREPS
{
	namespace Transformation
	{
		class TransformationRequestClass
		{
			public :
				TransformationRequestClass(void);

				~TransformationRequestClass(void);

				//set transformation frames
				void setFrames(const char *srcFrame, const char *dstFrame);

				//get transformation source frame
				string getSrcFrame(void) const;

				//get transformation destination frame
				string getDstFrame(void) const;

				//set transformation centers for RTN/RTP frames
				void setCenters(const char *srcCenter, const char *dstCenter);

				//get transformation source center
				string getSrcCenter(void) const;

				//get transformation destination center
				string getDstCenter(void) const;
				

				//set times
				void setTimes(const t_Time startTime, const t_Time stopTime);

				//get start time
				t_Time getStartTime(void) const;
				//get end time
				t_Time getStopTime(void) const;



				//set source vectors defintiion
				bool setSrcVectorsDefinition(const char *srcVecDef, const char *srcFrame);

				//get source vectors list
				t_VectorList *getSrcVectors(void) const;

				//get source vectors definition
				string getSrcVectorsDefinition(void);

				//set source time definition
				bool setTimeDefinition(const char *timeFieldId, const char *timeFormatId, const char *timePattern);

				//get source time field id
				string getTimeFieldId(void) const;

				//get source time format
				t_TimeFormat getTimeFormat(void) const;

				//get source time pattern
				string getTimePattern(void) const;

				//laod source data
				bool loadSrcData(const char *srcFilePath);

				//get source data
				DataRecordListClass *getSrcDataRecordList(void) const;

				//get number of source fields
				int getSrcNbFields(void);

				//get list of source fields
				t_FieldList *getSrcFields(void) const;

				//save transformation request to file
				bool saveToFile(const char *filePath);

				//load transformation request to file
				bool loadFromFile(const char *filePath);

			private :
				string srcFrame;
				string dstFrame;
				string srcCenter;
				string dstCenter;
				t_Time startTime;
				t_Time stopTime;

				t_VectorList srcVectors;

				string timeFieldId;
				t_TimeFormat timeFormat;
				string timePattern;

				t_FileInfo srcInfo;

				DataRecordListClass srcData;
		};
	}
}

#endif