\hypertarget{a00440_source}{}\doxysection{AAX\+\_\+\+CMutex.\+h}
\label{a00440_source}\index{AAX\_CMutex.h@{AAX\_CMutex.h}}
\mbox{\hyperlink{a00440}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00002\ \textcolor{comment}{/*}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ \ Copyright\ 2014-\/2015,\ 2023\ Avid\ Technology,\ Inc.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ \ All\ rights\ reserved.}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ \ CONFIDENTIAL:\ this\ document\ contains\ confidential\ information\ of\ Avid.\ Do}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ \ not\ disclose\ to\ any\ third\ party.\ Use\ of\ the\ information\ contained\ in\ this}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ \ document\ is\ subject\ to\ an\ Avid\ SDK\ license.}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#ifndef\ AAX\_CMUTEX\_H}}
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#define\ AAX\_CMUTEX\_H}}
\DoxyCodeLine{00015\ }
\DoxyCodeLine{00022\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00023\ }
\DoxyCodeLine{00026\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01857}{AAX\_CMutex}}}
\DoxyCodeLine{00027\ \{}
\DoxyCodeLine{00028\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00029\ \ \ \ \ \mbox{\hyperlink{a01857_a4660e81ede040465fb41613cc8ab1386}{AAX\_CMutex}}();}
\DoxyCodeLine{00030\ \ \ \ \ \mbox{\hyperlink{a01857_a0328e4cd9b148b80d477f3275ce3ff2a}{\string~AAX\_CMutex}}();}
\DoxyCodeLine{00031\ \ \ \ \ }
\DoxyCodeLine{00032\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{a01857_a99babc9bed7ae95c36015635f4c500df}{Lock}}();}
\DoxyCodeLine{00033\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a01857_a8c25bbd0e6030325a7965f8453d96323}{Unlock}}();}
\DoxyCodeLine{00034\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{a01857_afdc4af88dd8aca7acba0907f1cb5846f}{Try\_Lock}}();}
\DoxyCodeLine{00035\ \ \ \ \ }
\DoxyCodeLine{00036\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00037\ \ \ \ \ \mbox{\hyperlink{a01857_a4660e81ede040465fb41613cc8ab1386}{AAX\_CMutex}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01857}{AAX\_CMutex}}\&);}
\DoxyCodeLine{00038\ \ \ \ \ \mbox{\hyperlink{a01857}{AAX\_CMutex}}\&\ operator=(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01857}{AAX\_CMutex}}\&);}
\DoxyCodeLine{00039\ }
\DoxyCodeLine{00040\ \ \ \ \ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }opaque\_aax\_mutex\_t\ *\ aax\_mutex\_t;\ \ \ \ }
\DoxyCodeLine{00041\ \ \ \ \ aax\_mutex\_t\ \ \ \ \ mMutex;\ }
\DoxyCodeLine{00042\ \};}
\DoxyCodeLine{00043\ }
\DoxyCodeLine{00046\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01861}{AAX\_StLock\_Guard}}}
\DoxyCodeLine{00047\ \{}
\DoxyCodeLine{00048\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00049\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{a01861_abe7e3ad1ebe9ce3275abc7b23aba32d8}{AAX\_StLock\_Guard}}(\mbox{\hyperlink{a01857}{AAX\_CMutex}}\&\ iMutex)\ :\ mMutex(iMutex)\ \{\ mNeedsUnlock\ =\ mMutex.\mbox{\hyperlink{a01857_a99babc9bed7ae95c36015635f4c500df}{Lock}}();\ \}}
\DoxyCodeLine{00050\ \ \ \ \ \mbox{\hyperlink{a01861_abdc2e6d3f8de54078bbb823e742bb5fc}{\string~AAX\_StLock\_Guard}}()\ \{\ \textcolor{keywordflow}{if}\ (mNeedsUnlock)\ mMutex.\mbox{\hyperlink{a01857_a8c25bbd0e6030325a7965f8453d96323}{Unlock}}();\ \}}
\DoxyCodeLine{00051\ \ \ \ \ }
\DoxyCodeLine{00052\ \textcolor{keyword}{private}:\ \ \ \ }
\DoxyCodeLine{00053\ \ \ \ \ \mbox{\hyperlink{a01861}{AAX\_StLock\_Guard}}(\mbox{\hyperlink{a01861}{AAX\_StLock\_Guard}}\ \textcolor{keyword}{const}\&);}
\DoxyCodeLine{00054\ \ \ \ \ \mbox{\hyperlink{a01861}{AAX\_StLock\_Guard}}\&\ operator=(\mbox{\hyperlink{a01861}{AAX\_StLock\_Guard}}\ \textcolor{keyword}{const}\&);}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ \ \ \ \ \mbox{\hyperlink{a01857}{AAX\_CMutex}}\ \&\ \ mMutex;}
\DoxyCodeLine{00057\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ mNeedsUnlock;}
\DoxyCodeLine{00058\ \};}
\DoxyCodeLine{00059\ }
\DoxyCodeLine{00060\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ AAX\_CMUTEX\_H}}
\DoxyCodeLine{00061\ }

\end{DoxyCode}
