Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef lgrExportMultipleOperation_H_
00010 #define lgrExportMultipleOperation_H_
00011
00012 #include "lgrEditorThread.h"
00013
00014 #include <vlutil/vlString.h>
00015 #include <absoluteTime.h>
00016
00017 namespace MAKLogger
00018 {
00019 class DtLgrEditorDriver;
00020 class DtLgrFileInput;
00021 class DtLgrFileOutput;
00022 class DtLgrSystemDriver;
00023 class DtMessageOutput;
00024 class DtCommandInterface;
00025
00028 class DT_DLL_LGRCORE DtLgrExportMultipleOperation
00029 {
00030 public:
00031
00032 DtLgrExportMultipleOperation(
00033 const DtString& operationName,
00034 DtLgrFileInput* input,
00035 int packetOperationCount,
00036 DtAbsoluteTime startTime,
00037 DtAbsoluteTime endTime,
00038 DtRelativeTime offset,
00039 DtRelativeTime splitDuration,
00040 const DtString& namingConvention,
00041 const DtString& outputFilename);
00042
00044 virtual ~DtLgrExportMultipleOperation();
00045
00048 bool exportData(DtLgrSystemDriver* systemDriver);
00049
00050 protected:
00051 DtMessageOutput* getNextOutput(DtLgrSystemDriver*,
00052 int index,const DtAbsoluteTime& nextStart,const DtAbsoluteTime& nextStop);
00053
00054 DtAbsoluteTime getNextStopTime(const DtAbsoluteTime& oldStart);
00055 DtAbsoluteTime getFirstStopTime() const;
00056 DtString multipleFileName(int index,
00057 const DtAbsoluteTime& newFirstTime,
00058 const DtAbsoluteTime& newLastTime) const;
00059
00060 DtString myOperationName;
00061 DtLgrFileInput* myInputFile;
00062 DtAbsoluteTime myStartTime;
00063 DtAbsoluteTime myEndTime;
00064 DtRelativeTime myOffset;
00065 int myPacketOperationCount;
00066 DtRelativeTime mySplitDuration;
00067 DtString myNamingConvention;
00068 DtString myOutputFilename;
00069 };
00070 }
00071
00072 #endif