\doxysection{WBase\+Sensor.\+h}
\hypertarget{a00497_source}{}\label{a00497_source}\index{WBaseSensor.h@{WBaseSensor.h}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00002\ }
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ "{}BaseSensor.h"{}}}
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}WBaseDataRecorder.h"{}}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <List>}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}WAvailableResolution.h"{}}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ "{}WSoftwareVersion.h"{}}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ "{}WConfigurationResult.h"{}}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ "{}WContaminationStatus.h"{}}}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#pragma\ make\_public(BaseSensor)}}
\DoxyCodeLine{00012\ \textcolor{keyword}{using\ namespace\ }\mbox{\hyperlink{a00633}{WUtils}};}
\DoxyCodeLine{00013\ \textcolor{keyword}{using\ namespace\ }System::Collections;}
\DoxyCodeLine{00014\ \textcolor{keyword}{using\ namespace\ }System::Collections::Generic;}
\DoxyCodeLine{00015\ }
\DoxyCodeLine{00016\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{a00635}{WBase}}\ \{}
\DoxyCodeLine{00017\ \ \ \ \ \textcolor{keyword}{public\ ref\ class}\ WBaseSensor\ \textcolor{keyword}{abstract}}
\DoxyCodeLine{00018\ \ \ \ \ \{}
\DoxyCodeLine{00019\ \ \ \ \ \textcolor{keyword}{public}:\ \ \ \ \ }
\DoxyCodeLine{00020\ \ \ \ \ \ \ \ \ \textcolor{keyword}{property}\ WBaseCommunication\string^\ Communication\ \{}
\DoxyCodeLine{00021\ \ \ \ \ \ \ \ \ \ \ \ \ WBaseCommunication\string^\ get()\ \{}
\DoxyCodeLine{00022\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \_communication;}
\DoxyCodeLine{00023\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ set(WBaseCommunication\string^\ x)\ \{}
\DoxyCodeLine{00026\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_communication\ =\ x;}
\DoxyCodeLine{00027\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_sensor-\/>SetCommunication(x-\/>\_\_nativeCommunication);}
\DoxyCodeLine{00028\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00029\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00031\ \ \ \ \ \ \ \ \ \textcolor{keyword}{property}\ WBaseDataRecorder\string^\ DataRecorder\ \{}
\DoxyCodeLine{00032\ \ \ \ \ \ \ \ \ \ \ \ \ WBaseDataRecorder\string^\ get()\ \{}
\DoxyCodeLine{00033\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \_dataRecorder;}
\DoxyCodeLine{00034\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ set(WBaseDataRecorder\string^\ x)\ \{}
\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_dataRecorder\ =\ x;}
\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_sensor-\/>SetDataRecorder(\_dataRecorder-\/>\_\_nativeRecorder);}
\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00040\ }
\DoxyCodeLine{00041\ \ \ \ \ \ \ \ \ List<WAvailableResolution\string^>\string^\ GetAvailableResolutions()\ \{}
\DoxyCodeLine{00042\ \ \ \ \ \ \ \ \ \ \ \ \ List<WAvailableResolution\string^>\string^\ toReturn\ =\ gcnew\ List<WAvailableResolution\string^>();}
\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \ \ \ \ vector<AvailableResolution>\ nativeRes\ =\ \_sensor-\/>GetAvailableResolutions();}
\DoxyCodeLine{00044\ }
\DoxyCodeLine{00045\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keywordtype}{int}\ i\ =\ 0;\ i\ <\ nativeRes.size();\ i++)\ \{}
\DoxyCodeLine{00046\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00964}{WAvailableResolution}}\string^\ toAdd\ =\ gcnew\ \mbox{\hyperlink{a00964}{WAvailableResolution}}();}
\DoxyCodeLine{00047\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ toAdd-\/>\mbox{\hyperlink{a00964_a4ca28fd6510a1577e88c60ab0a2ee8e0}{Code}}\ =\ \textcolor{keyword}{static\_cast<}\mbox{\hyperlink{a00636_aaa578ed56a38f745817d3e738ca0e00d}{AngularResolution}}\textcolor{keyword}{>}(nativeRes[i].GetCode());}
\DoxyCodeLine{00048\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ toAdd-\/>Name\ =\ gcnew\ String(nativeRes[i].GetName().c\_str());}
\DoxyCodeLine{00049\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ toReturn-\/>Add(toAdd);}
\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00051\ }
\DoxyCodeLine{00052\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ toReturn;}
\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ List<WAvailableResolution\string^>\string^\ GetAvailableResolutions(\mbox{\hyperlink{a00636_a318560de31ba6ccf8e2798a01264e414}{ProductIdentification}}\ productIdentifier)\ \{}
\DoxyCodeLine{00055\ \ \ \ \ \ \ \ \ \ \ \ \ List<WAvailableResolution\string^>\string^\ toReturn\ =\ gcnew\ List<WAvailableResolution\string^>();}
\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \ \ \ \ vector<AvailableResolution>\ nativeRes\ =\ BaseSensor::GetAvailableResolutions(\textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{int}\textcolor{keyword}{>}(productIdentifier));}
\DoxyCodeLine{00057\ }
\DoxyCodeLine{00058\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keywordtype}{int}\ i\ =\ 0;\ i\ <\ nativeRes.size();\ i++)\ \{}
\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a00964}{WAvailableResolution}}\string^\ toAdd\ =\ gcnew\ \mbox{\hyperlink{a00964}{WAvailableResolution}}();}
\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ toAdd-\/>\mbox{\hyperlink{a00964_a4ca28fd6510a1577e88c60ab0a2ee8e0}{Code}}\ =\ \textcolor{keyword}{static\_cast<}\mbox{\hyperlink{a00636_aaa578ed56a38f745817d3e738ca0e00d}{AngularResolution}}\textcolor{keyword}{>}(nativeRes[i].GetCode());}
\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ toAdd-\/>Name\ =\ gcnew\ String(nativeRes[i].GetName().c\_str());}
\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ toReturn-\/>Add(toAdd);}
\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00064\ }
\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ toReturn;}
\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ String\string^\ GetDeviceName()\ =\ 0;}
\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00992}{WConfigurationResult}}\string^\ \mbox{\hyperlink{a00972_adc1c0588620dccd801567a0afb66a9a3}{SetDeviceName}}(String\string^\ pName)\ =\ 0;}
\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{long}\ \mbox{\hyperlink{a00972_a4040dc6c09d5288594e2a8cabffe9b80}{GetRuntimeHours}}()\ =\ 0;}
\DoxyCodeLine{00070\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{a00972_a97d5f25c62083c8519807170abedda6b}{GetTemperature}}()\ =\ 0;}
\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{a00972_a6dd8295a291a87aacf9a0fceb1db8a01}{GetPlatformVersion}}()\ =\ 0;}
\DoxyCodeLine{00072\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00996}{WContaminationStatus}}\string^\ \mbox{\hyperlink{a00972_a53ae6c074cac08e5cbe5203a59497da5}{GetContaminationStatus}}()\ =\ 0;}
\DoxyCodeLine{00073\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00988}{WCommunicationStatus}}\string^\ \mbox{\hyperlink{a00972_aa41e5ac59f2935aa803460a29221e9fa}{Initialize}}()\ =\ 0;}
\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a01024}{WSoftwareVersion}}\string^\ \mbox{\hyperlink{a00972_a90cc2a4e3c7c7f05f6908ea30eea36fc}{GetVersion}}()\ =\ 0;}
\DoxyCodeLine{00075\ \ \ \ \ \textcolor{keyword}{protected}:\ \ \ \ \ \ }
\DoxyCodeLine{00076\ \ \ \ \ \ \ \ \ BaseSensor*\ \mbox{\hyperlink{a00972_a26a16e90a0a0b0fa2a9169dd6b344541}{\_sensor}};}
\DoxyCodeLine{00077\ \ \ \ \ \textcolor{keyword}{private}:}
\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ WBaseCommunication\string^\ \_communication;}
\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ WBaseDataRecorder\string^\ \_dataRecorder;}
\DoxyCodeLine{00080\ \ \ \ \ \};}
\DoxyCodeLine{00081\ \}}

\end{DoxyCode}
