\doxysection{Usb\+Device Struct Reference}
\hypertarget{a00858}{}\label{a00858}\index{UsbDevice@{UsbDevice}}


A structure definition to handle USB callback event.  




{\ttfamily \#include $<$Usb\+Communication.\+h$>$}

\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
struct libusb\+\_\+transfer \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{a00858_a66335b4112350e800d76d605a8d83514}{transfer}}
\item 
struct libusb\+\_\+device\+\_\+handle \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{a00858_a94b542acd16049c34946b222b72049bf}{device\+\_\+handle}}
\item 
unsigned char \mbox{\hyperlink{a00858_ad7de7c84f962cd96021a1bc9403831e8}{input\+\_\+endpoint}}
\item 
struct libusb\+\_\+context \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{a00858_adf12be563c74495af512fb17f08f8526}{usb\+Context}}
\item 
Base\+Data\+Extractor \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{a00858_a3d04c5b29a2e9f9dd3f4f89fa41b1613}{extractor}}
\item 
HANDLE \mbox{\hyperlink{a00858_a84cdbf5c41f7a3eb4547740c91ccc9d7}{data\+Available\+Semaphore}}
\item 
HANDLE \mbox{\hyperlink{a00858_af8f98f5447d6da974862acd5e27149a3}{raw\+Data\+Available\+Semaphore}}
\item 
HANDLE \mbox{\hyperlink{a00858_ad5e64c00307a55fabddc2cfd936e3e26}{sem\+Ready\+To\+Consume}}
\item 
string \mbox{\hyperlink{a00858_a4d5af0982cb76364c42b8233f8f5355e}{command\+Result}}
\item 
bool \mbox{\hyperlink{a00858_aa190fef051ab42359609f19c545c08a1}{treat}} = false
\item 
vector$<$ string $>$ \mbox{\hyperlink{a00858_aa6cc13cf3016b0c5f1e28554409644cf}{local\+Vector}}
\item 
\mbox{\hyperlink{a00842}{Raw\+Data}} \mbox{\hyperlink{a00858_a7e203f3bd07944fd5d5f09c264b963d1}{extracted\+Data}}
\item 
bool \mbox{\hyperlink{a00858_aa293e93f8182422ade2474380076c34b}{interrupt\+Transfer}} = true
\item 
\mbox{\hyperlink{a00778}{Communication\+Status}} \mbox{\hyperlink{a00858_adba579d47e46ef7699a1b268d6cf56df}{comm\+Status}}
\item 
atomic$<$ chrono\+::time\+\_\+point$<$ std\+::chrono\+::steady\+\_\+clock $>$ $>$ \mbox{\hyperlink{a00858_aa31120ed18ac862da93aeccc3ef137c1}{last\+Usb\+Data\+Time}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A structure definition to handle USB callback event. 

\doxysubsection{Member Data Documentation}
\Hypertarget{a00858_a4d5af0982cb76364c42b8233f8f5355e}\index{UsbDevice@{UsbDevice}!commandResult@{commandResult}}
\index{commandResult@{commandResult}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{commandResult}{commandResult}}
{\footnotesize\ttfamily \label{a00858_a4d5af0982cb76364c42b8233f8f5355e} 
string Usb\+Device\+::command\+Result}

\Hypertarget{a00858_adba579d47e46ef7699a1b268d6cf56df}\index{UsbDevice@{UsbDevice}!commStatus@{commStatus}}
\index{commStatus@{commStatus}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{commStatus}{commStatus}}
{\footnotesize\ttfamily \label{a00858_adba579d47e46ef7699a1b268d6cf56df} 
\mbox{\hyperlink{a00778}{Communication\+Status}} Usb\+Device\+::comm\+Status}

\Hypertarget{a00858_a84cdbf5c41f7a3eb4547740c91ccc9d7}\index{UsbDevice@{UsbDevice}!dataAvailableSemaphore@{dataAvailableSemaphore}}
\index{dataAvailableSemaphore@{dataAvailableSemaphore}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{dataAvailableSemaphore}{dataAvailableSemaphore}}
{\footnotesize\ttfamily \label{a00858_a84cdbf5c41f7a3eb4547740c91ccc9d7} 
HANDLE Usb\+Device\+::data\+Available\+Semaphore}

\Hypertarget{a00858_a94b542acd16049c34946b222b72049bf}\index{UsbDevice@{UsbDevice}!device\_handle@{device\_handle}}
\index{device\_handle@{device\_handle}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{device\_handle}{device\_handle}}
{\footnotesize\ttfamily \label{a00858_a94b542acd16049c34946b222b72049bf} 
struct libusb\+\_\+device\+\_\+handle\texorpdfstring{$\ast$}{*} Usb\+Device\+::device\+\_\+handle}

\Hypertarget{a00858_a7e203f3bd07944fd5d5f09c264b963d1}\index{UsbDevice@{UsbDevice}!extractedData@{extractedData}}
\index{extractedData@{extractedData}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{extractedData}{extractedData}}
{\footnotesize\ttfamily \label{a00858_a7e203f3bd07944fd5d5f09c264b963d1} 
\mbox{\hyperlink{a00842}{Raw\+Data}} Usb\+Device\+::extracted\+Data}

\Hypertarget{a00858_a3d04c5b29a2e9f9dd3f4f89fa41b1613}\index{UsbDevice@{UsbDevice}!extractor@{extractor}}
\index{extractor@{extractor}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{extractor}{extractor}}
{\footnotesize\ttfamily \label{a00858_a3d04c5b29a2e9f9dd3f4f89fa41b1613} 
Base\+Data\+Extractor\texorpdfstring{$\ast$}{*} Usb\+Device\+::extractor}

\Hypertarget{a00858_ad7de7c84f962cd96021a1bc9403831e8}\index{UsbDevice@{UsbDevice}!input\_endpoint@{input\_endpoint}}
\index{input\_endpoint@{input\_endpoint}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{input\_endpoint}{input\_endpoint}}
{\footnotesize\ttfamily \label{a00858_ad7de7c84f962cd96021a1bc9403831e8} 
unsigned char Usb\+Device\+::input\+\_\+endpoint}

\Hypertarget{a00858_aa293e93f8182422ade2474380076c34b}\index{UsbDevice@{UsbDevice}!interruptTransfer@{interruptTransfer}}
\index{interruptTransfer@{interruptTransfer}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{interruptTransfer}{interruptTransfer}}
{\footnotesize\ttfamily \label{a00858_aa293e93f8182422ade2474380076c34b} 
bool Usb\+Device\+::interrupt\+Transfer = true}

\Hypertarget{a00858_aa31120ed18ac862da93aeccc3ef137c1}\index{UsbDevice@{UsbDevice}!lastUsbDataTime@{lastUsbDataTime}}
\index{lastUsbDataTime@{lastUsbDataTime}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{lastUsbDataTime}{lastUsbDataTime}}
{\footnotesize\ttfamily \label{a00858_aa31120ed18ac862da93aeccc3ef137c1} 
atomic$<$chrono\+::time\+\_\+point$<$std\+::chrono\+::steady\+\_\+clock$>$ $>$ Usb\+Device\+::last\+Usb\+Data\+Time}

\Hypertarget{a00858_aa6cc13cf3016b0c5f1e28554409644cf}\index{UsbDevice@{UsbDevice}!localVector@{localVector}}
\index{localVector@{localVector}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{localVector}{localVector}}
{\footnotesize\ttfamily \label{a00858_aa6cc13cf3016b0c5f1e28554409644cf} 
vector$<$string$>$ Usb\+Device\+::local\+Vector}

\Hypertarget{a00858_af8f98f5447d6da974862acd5e27149a3}\index{UsbDevice@{UsbDevice}!rawDataAvailableSemaphore@{rawDataAvailableSemaphore}}
\index{rawDataAvailableSemaphore@{rawDataAvailableSemaphore}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{rawDataAvailableSemaphore}{rawDataAvailableSemaphore}}
{\footnotesize\ttfamily \label{a00858_af8f98f5447d6da974862acd5e27149a3} 
HANDLE Usb\+Device\+::raw\+Data\+Available\+Semaphore}

\Hypertarget{a00858_ad5e64c00307a55fabddc2cfd936e3e26}\index{UsbDevice@{UsbDevice}!semReadyToConsume@{semReadyToConsume}}
\index{semReadyToConsume@{semReadyToConsume}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{semReadyToConsume}{semReadyToConsume}}
{\footnotesize\ttfamily \label{a00858_ad5e64c00307a55fabddc2cfd936e3e26} 
HANDLE Usb\+Device\+::sem\+Ready\+To\+Consume}

\Hypertarget{a00858_a66335b4112350e800d76d605a8d83514}\index{UsbDevice@{UsbDevice}!transfer@{transfer}}
\index{transfer@{transfer}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{transfer}{transfer}}
{\footnotesize\ttfamily \label{a00858_a66335b4112350e800d76d605a8d83514} 
struct libusb\+\_\+transfer\texorpdfstring{$\ast$}{*} Usb\+Device\+::transfer}

\Hypertarget{a00858_aa190fef051ab42359609f19c545c08a1}\index{UsbDevice@{UsbDevice}!treat@{treat}}
\index{treat@{treat}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{treat}{treat}}
{\footnotesize\ttfamily \label{a00858_aa190fef051ab42359609f19c545c08a1} 
bool Usb\+Device\+::treat = false}

\Hypertarget{a00858_adf12be563c74495af512fb17f08f8526}\index{UsbDevice@{UsbDevice}!usbContext@{usbContext}}
\index{usbContext@{usbContext}!UsbDevice@{UsbDevice}}
\doxysubsubsection{\texorpdfstring{usbContext}{usbContext}}
{\footnotesize\ttfamily \label{a00858_adf12be563c74495af512fb17f08f8526} 
struct libusb\+\_\+context\texorpdfstring{$\ast$}{*} Usb\+Device\+::usb\+Context}



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Usb\+Communication.\+h\end{DoxyCompactItemize}
