\hypertarget{a00728_source}{}\doxysection{AAX\+\_\+\+Assert.\+h}
\label{a00728_source}\index{AAX\_Assert.h@{AAX\_Assert.h}}
\mbox{\hyperlink{a00728}{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\ 2013-\/2015,\ 2018,\ 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{00055\ \textcolor{preprocessor}{\#ifndef\ AAX\_ASSERT\_H}}
\DoxyCodeLine{00056\ \textcolor{preprocessor}{\#define\ AAX\_ASSERT\_H}}
\DoxyCodeLine{00057\ }
\DoxyCodeLine{00058\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00443}{AAX\_Enums.h}}"{}}}
\DoxyCodeLine{00059\ }
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00170\ \textcolor{preprocessor}{\#ifdef\ \ \_TMS320C6X\ \ }\textcolor{comment}{//\ TI-\/only}}
\DoxyCodeLine{00171\ }
\DoxyCodeLine{00172\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ TI\_SHELL\_TRACING\_H}}
\DoxyCodeLine{00173\ \textcolor{preprocessor}{\ \ \ \ \#include\ "{}TI\_Shell\_Tracing.h"{}}}
\DoxyCodeLine{00174\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00175\ }
\DoxyCodeLine{00176\ \ \ \ \ \textcolor{keyword}{typedef}\ \mbox{\hyperlink{a00443_ac564db2d51bc55990fb37ab02062346c}{AAX\_ETracePriorityDSP}}\ EAAX\_Trace\_Priority;}
\DoxyCodeLine{00177\ }
\DoxyCodeLine{00178\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_None\ \ \ \ \ \ \ \ AAX\_eTracePriorityDSP\_None}}
\DoxyCodeLine{00179\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Critical\ \ \ \ AAX\_eTracePriorityDSP\_High}}
\DoxyCodeLine{00180\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_High\ \ \ \ \ \ \ \ AAX\_eTracePriorityDSP\_High}}
\DoxyCodeLine{00181\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Normal\ \ \ \ \ \ AAX\_eTracePriorityDSP\_Normal}}
\DoxyCodeLine{00182\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Low\ \ \ \ \ \ \ \ \ AAX\_eTracePriorityDSP\_Low}}
\DoxyCodeLine{00183\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Lowest\ \ \ \ \ \ AAX\_eTracePriorityDSP\_Low}}
\DoxyCodeLine{00184\ }
\DoxyCodeLine{00185\ \ \ \ \ \textcolor{comment}{//Note\ that\ the\ Message\ provided\ to\ AAX\_TRACE\ must\ be\ a\ cons\ string\ available\ for\ indefinite\ time}}
\DoxyCodeLine{00186\ \ \ \ \ \textcolor{comment}{//\ because\ sending\ it\ to\ the\ host\ is\ done\ asynchronously.}}
\DoxyCodeLine{00187\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACE\_RELEASE(\ ...\ )\ TISHELLTRACE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00188\ }
\DoxyCodeLine{00189\ \ \ \ \ \textcolor{comment}{//Stack\ traces\ not\ supported\ on\ TI\ -\/\ just\ log}}
\DoxyCodeLine{00190\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_STACKTRACE\_RELEASE(\ ...\ )\ TISHELLTRACE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00191\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ TISHELLTRACE(\ iTracePriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00192\ }
\DoxyCodeLine{00193\ \textcolor{preprocessor}{\ \ \ \ \#define\ \_STRINGIFY(x)\ \#x}}
\DoxyCodeLine{00194\ \textcolor{preprocessor}{\ \ \ \ \#define\ \_TOSTRING(x)\ \_STRINGIFY(x)}}
\DoxyCodeLine{00195\ }
\DoxyCodeLine{00196\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_ASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00197\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00198\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (condition)\ )\ \_DoTrace(\ AAX\_eTracePriorityDSP\_Assert,\ \(\backslash\)}}
\DoxyCodeLine{00199\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ CAT(CAT(\ CAT(\_\_FILE\_\_,\ "{}:"{}}),\ \_TOSTRING(\_\_LINE\_\_)\ )\ ,\ CAT("{}\ failed:\ "{},\ \#condition)\ )\ );\(\backslash\)}
\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00201\ }
\DoxyCodeLine{00202\ \textcolor{preprocessor}{\ \ \ \ \#if\ defined(\_DEBUG)}}
\DoxyCodeLine{00203\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ AAX\_ASSERT(\ condition\ )}}
\DoxyCodeLine{00204\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ ...\ )\ AAX\_TRACE\_RELEASE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00205\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ ...\ )\ AAX\_STACKTRACE\_RELEASE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00206\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00207\ }
\DoxyCodeLine{00208\ \textcolor{preprocessor}{\ \ \ \ \#else}}
\DoxyCodeLine{00209\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00210\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00211\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00212\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00213\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00214\ }
\DoxyCodeLine{00215\ \textcolor{preprocessor}{\#else\ }\textcolor{comment}{//\ Host:}}
\DoxyCodeLine{00216\ }
\DoxyCodeLine{00217\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ AAX\_CHOSTSERVICES\_H}}
\DoxyCodeLine{00218\ \textcolor{preprocessor}{\ \ \ \ \#include\ "{}\mbox{\hyperlink{a00593}{AAX\_CHostServices.h}}"{}}}
\DoxyCodeLine{00219\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00220\ }
\DoxyCodeLine{00221\ \ \ \ \ \textcolor{keyword}{typedef}\ \mbox{\hyperlink{a00443_a2dd667e4dea5781f38832fd9f1725f1b}{AAX\_ETracePriorityHost}}\ \mbox{\hyperlink{a00728_a28ae6ea1f243f005a891c5c77a5a5211}{AAX\_ETracePriority}};}
\DoxyCodeLine{00222\ }
\DoxyCodeLine{00223\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_None\ \ \ \ \ \ \ \ AAX\_eTracePriorityHost\_None}}
\DoxyCodeLine{00224\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Critical\ \ \ \ AAX\_eTracePriorityHost\_Critical}}
\DoxyCodeLine{00225\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_High\ \ \ \ \ \ \ \ AAX\_eTracePriorityHost\_High}}
\DoxyCodeLine{00226\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Normal\ \ \ \ \ \ AAX\_eTracePriorityHost\_Normal}}
\DoxyCodeLine{00227\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Low\ \ \ \ \ \ \ \ \ AAX\_eTracePriorityHost\_Low}}
\DoxyCodeLine{00228\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Lowest\ \ \ \ \ \ AAX\_eTracePriorityHost\_Lowest}}
\DoxyCodeLine{00229\ }
\DoxyCodeLine{00230\ \ \ \ \ \textcolor{comment}{//Note\ that\ the\ Message\ provided\ to\ AAX\_TRACE\ must\ be\ a\ const\ string\ available\ for\ indefinite\ time}}
\DoxyCodeLine{00231\ \ \ \ \ \textcolor{comment}{//\ because\ sending\ it\ to\ the\ host\ is\ done\ asynchronously\ on\ TI}}
\DoxyCodeLine{00232\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACE\_RELEASE(\ iPriority,\ ...\ )\ \(\backslash\)}}
\DoxyCodeLine{00233\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00234\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::Trace\ (\ iPriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}}
\DoxyCodeLine{00235\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00236\ }
\DoxyCodeLine{00237\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_STACKTRACE\_RELEASE(\ iPriority,\ ...\ )\ \(\backslash\)}}
\DoxyCodeLine{00238\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00239\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::StackTrace\ (\ iPriority,\ iPriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}}
\DoxyCodeLine{00240\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00241\ }
\DoxyCodeLine{00242\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ \(\backslash\)}}
\DoxyCodeLine{00243\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00244\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::StackTrace\ (\ iTracePriority,\ iStackTracePriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}}
\DoxyCodeLine{00245\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00246\ }
\DoxyCodeLine{00247\ \textcolor{preprocessor}{\ \ \ \ \#if\ defined(\_DEBUG)}}
\DoxyCodeLine{00248\ }
\DoxyCodeLine{00249\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_ASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00250\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00251\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (\ condition\ )\ )\ \{\ \(\backslash\)}}
\DoxyCodeLine{00252\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::HandleAssertFailure(\ \_\_FILE\_\_,\ \_\_LINE\_\_,\ \#condition,\ (int32\_t)AAX\_eAssertFlags\_Log\ |\ (int32\_t)AAX\_eAssertFlags\_Dialog\ );\ \(\backslash\)}}
\DoxyCodeLine{00253\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \(\backslash\)}}
\DoxyCodeLine{00254\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00255\ }
\DoxyCodeLine{00256\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00257\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00258\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (\ condition\ )\ )\ \{\ \(\backslash\)}}
\DoxyCodeLine{00259\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::HandleAssertFailure(\ \_\_FILE\_\_,\ \_\_LINE\_\_,\ \#condition,\ (int32\_t)AAX\_eAssertFlags\_Log\ |\ (int32\_t)AAX\_eAssertFlags\_Dialog\ );\ \(\backslash\)}}
\DoxyCodeLine{00260\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \(\backslash\)}}
\DoxyCodeLine{00261\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00262\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00263\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ iPriority,\ ...\ )\ AAX\_TRACE\_RELEASE(\ iPriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00264\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ iPriority,\ ...\ )\ AAX\_STACKTRACE\_RELEASE(\ iPriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00265\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00266\ }
\DoxyCodeLine{00267\ \textcolor{preprocessor}{\ \ \ \ \#else}}
\DoxyCodeLine{00268\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_ASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00269\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00270\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (\ condition\ )\ )\ \{\ \(\backslash\)}}
\DoxyCodeLine{00271\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::HandleAssertFailure(\ \_\_FILE\_\_,\ \_\_LINE\_\_,\ \#condition,\ (int32\_t)AAX\_eAssertFlags\_Log\ );\ \(\backslash\)}}
\DoxyCodeLine{00272\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \(\backslash\)}}
\DoxyCodeLine{00273\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00274\ }
\DoxyCodeLine{00275\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00276\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ iPriority,\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00277\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ iPriority,\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00278\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00279\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00280\ }
\DoxyCodeLine{00281\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00282\ }
\DoxyCodeLine{00283\ }
\DoxyCodeLine{00284\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ include\ guard}}
\DoxyCodeLine{00285\ \textcolor{comment}{//\ end\ of\ AAX\_Assert.h}}

\end{DoxyCode}
