\doxysection{File\+Data\+Recorder.\+h}
\hypertarget{a00395_source}{}\label{a00395_source}\index{FileDataRecorder.h@{FileDataRecorder.h}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#include<string>}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <queue>}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <iostream>}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ <fstream>}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ <thread>}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ "{}BaseDataRecorder.h"{}}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ "{}RawData.h"{}}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ "{}Utility.h"{}}}
\DoxyCodeLine{00011\ }
\DoxyCodeLine{00012\ \textcolor{keyword}{using\ namespace\ }std;}
\DoxyCodeLine{00013\ }
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#ifdef\ STARFLEETTOOLBOX\_EXPORTS}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#define\ FILEDATARECORDER\ \_\_declspec(dllexport)}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#define\ FILEDATARECORDER\ \_\_declspec(dllimport)}}
\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00019\ }
\DoxyCodeLine{00020\ \textcolor{keyword}{class\ }FILEDATARECORDER\ \mbox{\hyperlink{a00880}{FileDataRecorder}}\ :}
\DoxyCodeLine{00021\ \ \ \ \ \textcolor{keyword}{public}\ BaseDataRecorder}
\DoxyCodeLine{00022\ \{}
\DoxyCodeLine{00023\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00028\ \ \ \ \ \mbox{\hyperlink{a00880}{FileDataRecorder}}(\textcolor{keywordtype}{string}\ pPath);}
\DoxyCodeLine{00029\ \ \ \ \ \mbox{\hyperlink{a00880}{\string~FileDataRecorder}}();}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00035\ \ \ \ \ \textcolor{keywordtype}{int}\ GetStatus();}
\DoxyCodeLine{00036\ }
\DoxyCodeLine{00040\ \ \ \ \ \textcolor{keywordtype}{void}\ Play();}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00045\ \ \ \ \ \textcolor{keywordtype}{void}\ Pause();}
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00050\ \ \ \ \ \textcolor{keywordtype}{void}\ Stop();}
\DoxyCodeLine{00051\ }
\DoxyCodeLine{00055\ \ \ \ \ \textcolor{keywordtype}{void}\ Record();}
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00062\ \ \ \ \ \textcolor{keywordtype}{void}\ ExportToCsv(\textcolor{keywordtype}{string}\ pPathToExport,\ MEASURMENT\_UNIT\ pMeasurmentSystem);}
\DoxyCodeLine{00063\ }
\DoxyCodeLine{00068\ \ \ \ \ \textcolor{keywordtype}{void}\ FetchRecord(\mbox{\hyperlink{a00928}{RawData}}\ data);}
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00070\ }
\DoxyCodeLine{00075\ \ \ \ \ \mbox{\hyperlink{a00928}{RawData}}\ WaitForRawData();}
\DoxyCodeLine{00076\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00077\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ TOTAL\_FRAME\ =\ 0;}
\DoxyCodeLine{00078\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ FRAME\_RATE\ =\ 1;}
\DoxyCodeLine{00083\ \ \ \ \ \textcolor{keywordtype}{void}\ SetStatus(\textcolor{keywordtype}{int}\ pStatus);}
\DoxyCodeLine{00084\ \ \ \ \ \textcolor{keywordtype}{string}\ \_filePath;}
\DoxyCodeLine{00085\ \ \ \ \ \textcolor{keywordtype}{int}\ \_recorderStatus;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ the\ internal\ recorder\ status\ }}
\DoxyCodeLine{00086\ \ \ \ \ vector<RawData>\ \_rawDataVector;}
\DoxyCodeLine{00087\ }
\DoxyCodeLine{00088\ \ \ \ \ }
\DoxyCodeLine{00089\ \ \ \ \ HANDLE\ \_mutexRecorderStatus;\ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ protects\ the\ MDI\ Record\ data\ queue\ from\ multi\ process\ access}}
\DoxyCodeLine{00090\ \ \ \ \ HANDLE\ \_semPlayer;\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ semaphore\ to\ warn\ that\ RAW\ Data\ are\ available}}
\DoxyCodeLine{00091\ }
\DoxyCodeLine{00092\ \ \ \ \ ifstream\ inputFile;}
\DoxyCodeLine{00093\ \};}
\DoxyCodeLine{00094\ }

\end{DoxyCode}
