\doxysection{Base\+Data\+Recorder.\+h}
\hypertarget{a00326_source}{}\label{a00326_source}\index{BaseDataRecorder.h@{BaseDataRecorder.h}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ "{}RawData.h"{}}}
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Utility.h"{}}}
\DoxyCodeLine{00005\ }
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#ifdef\ STARFLEETTOOLBOX\_EXPORTS}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#define\ BASEDATARECORDER\ \_\_declspec(dllexport)}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#define\ BASEDATARECORDER\ \_\_declspec(dllimport)}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00011\ \textcolor{keyword}{using\ namespace\ }std;}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00013\ \textcolor{keyword}{class\ }BASEDATARECORDER\ BaseDataRecorder\ \textcolor{keyword}{abstract}}
\DoxyCodeLine{00014\ \{}
\DoxyCodeLine{00015\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00016\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ STOPPED\ =\ 0;}
\DoxyCodeLine{00017\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ PLAYING\ =\ 1;}
\DoxyCodeLine{00018\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ RECORDING\ =\ 2;}
\DoxyCodeLine{00019\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ FAILED\_START\_RECORDING\ =\ 3;}
\DoxyCodeLine{00020\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ FAILED\_INITIALIZE\ =\ 4;}
\DoxyCodeLine{00021\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{int}\ PAUSED\ =\ 5;}
\DoxyCodeLine{00025\ \ \ \ \ \mbox{\hyperlink{a00836_a622c390af74a10ae2868da4cbe609350}{BaseDataRecorder}}();}
\DoxyCodeLine{00026\ }
\DoxyCodeLine{00030\ \ \ \ \ \mbox{\hyperlink{a00836_a0cc9d96f9bdc4236a6c41f1dfc6e6709}{\string~BaseDataRecorder}}();}
\DoxyCodeLine{00031\ }
\DoxyCodeLine{00036\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{a00836_a592e1ec8527274e6c66172c15d447e23}{GetStatus}}()\ =\ 0;}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00041\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_a6b6b931e306fb2dca6ab6849897df738}{Play}}()\ =\ 0;}
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00046\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_a154f1262a4e0c45b7d6501ea652109f3}{Pause}}()\ =\ 0;}
\DoxyCodeLine{00047\ }
\DoxyCodeLine{00051\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_a40732738122e420bc44e8b6ec7c2d338}{Stop}}()\ =\ 0;}
\DoxyCodeLine{00052\ }
\DoxyCodeLine{00056\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_a08acc43d3ab9bd9708f429506c57acb6}{Record}}()\ =\ 0;}
\DoxyCodeLine{00057\ }
\DoxyCodeLine{00062\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_aca58b071c73dd18d300616c30ff9191a}{ExportToCsv}}(\textcolor{keywordtype}{string}\ pPathToExport,\ MEASURMENT\_UNIT\ pMeasurmentSystem)\ =\ 0;}
\DoxyCodeLine{00063\ }
\DoxyCodeLine{00068\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_af7f17fe1320cb33f488d6c8bcaeeb07a}{FetchRecord}}(\mbox{\hyperlink{a00928}{RawData}}\ data)\ =\ 0;}
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00070\ }
\DoxyCodeLine{00075\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00928}{RawData}}\ \mbox{\hyperlink{a00836_a5260181a0d03e2f8710c7115d2d1096b}{WaitForRawData}}()\ =\ 0;}
\DoxyCodeLine{00076\ }
\DoxyCodeLine{00081\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_ad2661fdfb171376bb532517010ee4b25}{SetFrameRate}}(\textcolor{keywordtype}{int}\ pFrameRate);}
\DoxyCodeLine{00082\ }
\DoxyCodeLine{00087\ \ \ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{a00836_a59cf10876cbc49a0845321cb74033938}{GetFrameRate}}();}
\DoxyCodeLine{00088\ }
\DoxyCodeLine{00093\ \ \ \ \ \textcolor{keywordtype}{long}\ \mbox{\hyperlink{a00836_abcf10a7454469f59643b8547a21a6bbc}{GetTotalFrame}}();}
\DoxyCodeLine{00094\ }
\DoxyCodeLine{00099\ \ \ \ \ \textcolor{keywordtype}{long}\ \mbox{\hyperlink{a00836_a51911eb773541fdd422d1a42ee18ef8c}{GetCurrentFramePosition}}();}
\DoxyCodeLine{00100\ \textcolor{keyword}{protected}:}
\DoxyCodeLine{00105\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_ac81aee2b2c7efca18810b72d04e8b078}{SetTotalFrame}}(\textcolor{keywordtype}{long}\ pTotalFrame);}
\DoxyCodeLine{00106\ }
\DoxyCodeLine{00111\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a00836_adc50d89dfc6771c137e4acd70538e692}{SetCurrentFramePosition}}(\textcolor{keywordtype}{long}\ pCurrentFramePosition);}
\DoxyCodeLine{00112\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00113\ \ \ \ \ \textcolor{keywordtype}{int}\ \_frameRate\ =\ 24;}
\DoxyCodeLine{00114\ \ \ \ \ \textcolor{keywordtype}{void}*\ \_mutexFrameRate;\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ protects\ the\ framerate\ data\ from\ concurent\ changes}}
\DoxyCodeLine{00115\ }
\DoxyCodeLine{00116\ \ \ \ \ \textcolor{keywordtype}{void}*\ \_mutexFramePosition;}
\DoxyCodeLine{00117\ \ \ \ \ \textcolor{keywordtype}{void}*\ \_mutexTotalFrame;}
\DoxyCodeLine{00118\ \ \ \ \ \textcolor{keywordtype}{long}\ \_currentFrame;}
\DoxyCodeLine{00119\ \ \ \ \ \textcolor{keywordtype}{long}\ \_totalFrame;}
\DoxyCodeLine{00120\ \};}
\DoxyCodeLine{00121\ }

\end{DoxyCode}
