TransformationResult.h 1.56 KB
#ifndef TRANSFORMATIONRESULT_H
#define TRANSFORMATIONRESULT_H

#include "../Common/TREPSTypes.h"
#include "../Application/Application.h"
#include "../DataRecord/DataRecordList.h"
#include "../Export/ExportManager.h"

//Suffix used for a result field
#define RESULT_FIELD_SUFFIX "_treps"
////Time id used in a result file
#define RESULT_TIME_ID      "TREPS_TIME"
////pattern used to write a time for a result file (data.res in the workind dir)
#define RESULT_TIME_PATTERN "[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss].[mls]Z"

using namespace TREPS::Common;
using namespace TREPS::Application;
using namespace TREPS::DataRecord;
using namespace TREPS::Export;

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

				~TransformationResultClass(void);

				//init transformation result
				bool init(t_TimeFormat timeFormat, const DataRecordListClass *srcData);

				//get result data record list
				DataRecordListClass *getDstDataRecordList(void) const;

				//get result fields list
				t_FieldList  *getDstFieldList(void) const;

				//add a result vector
				bool addFieldVector(const char *fieldId, const DataRecordListClass *data,
						const char *comp_1, const char *comp_2, const char *comp_3, const char *frame);

				//clone from data record list and fields list
				void clone(const t_FieldList *fields, const DataRecordListClass *data, const char *timeFieldId);

			private :
				ApplicationClass *app;

				ExportManagerClass *exportMgr;

				t_FieldList  dstFields;
				DataRecordListClass dstData;
		};
	}
}

#endif