\hypertarget{a00740_source}{}\doxysection{AAX\+\_\+\+Assert.\+h}
\label{a00740_source}\index{AAX\_Assert.h@{AAX\_Assert.h}}
\mbox{\hyperlink{a00740}{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-\/2024\ Avid\ Technology,\ Inc.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ \ All\ rights\ reserved.}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ \ This\ file\ is\ part\ of\ the\ Avid\ AAX\ SDK.}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ \ The\ AAX\ SDK\ is\ subject\ to\ commercial\ or\ open-\/source\ licensing.}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00011\ \textcolor{comment}{\ *\ \ By\ using\ the\ AAX\ SDK,\ you\ agree\ to\ the\ terms\ of\ both\ the\ Avid\ AAX\ SDK\ License}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ *\ \ Agreement\ and\ Avid\ Privacy\ Policy.}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00014\ \textcolor{comment}{\ *\ \ AAX\ SDK\ License:\ https://developer.avid.com/aax}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ *\ \ Privacy\ Policy:\ https://www.avid.com/legal/privacy-\/policy-\/statement}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00017\ \textcolor{comment}{\ *\ \ Or:\ You\ may\ also\ use\ this\ code\ under\ the\ terms\ of\ the\ GPL\ v3\ (see}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ *\ \ www.gnu.org/licenses).}}
\DoxyCodeLine{00019\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00020\ \textcolor{comment}{\ *\ \ THE\ AAX\ SDK\ IS\ PROVIDED\ "{}AS\ IS"{}\ WITHOUT\ ANY\ WARRANTY,\ AND\ ALL\ WARRANTIES,\ WHETHER}}
\DoxyCodeLine{00021\ \textcolor{comment}{\ *\ \ EXPRESSED\ OR\ IMPLIED,\ INCLUDING\ MERCHANTABILITY\ AND\ FITNESS\ FOR\ PURPOSE,\ ARE}}
\DoxyCodeLine{00022\ \textcolor{comment}{\ *\ \ DISCLAIMED.}}
\DoxyCodeLine{00023\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00024\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00068\ \textcolor{preprocessor}{\#ifndef\ AAX\_ASSERT\_H}}
\DoxyCodeLine{00069\ \textcolor{preprocessor}{\#define\ AAX\_ASSERT\_H}}
\DoxyCodeLine{00070\ }
\DoxyCodeLine{00071\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00446}{AAX\_Enums.h}}"{}}}
\DoxyCodeLine{00072\ }
\DoxyCodeLine{00073\ }
\DoxyCodeLine{00183\ \textcolor{preprocessor}{\#ifdef\ \ \_TMS320C6X\ \ }\textcolor{comment}{//\ TI-\/only}}
\DoxyCodeLine{00184\ }
\DoxyCodeLine{00185\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ TI\_SHELL\_TRACING\_H}}
\DoxyCodeLine{00186\ \textcolor{preprocessor}{\ \ \ \ \#include\ "{}TI\_Shell\_Tracing.h"{}}}
\DoxyCodeLine{00187\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00188\ }
\DoxyCodeLine{00189\ \ \ \ \ \textcolor{keyword}{typedef}\ \mbox{\hyperlink{a00446_ac564db2d51bc55990fb37ab02062346c}{AAX\_ETracePriorityDSP}}\ EAAX\_Trace\_Priority;}
\DoxyCodeLine{00190\ }
\DoxyCodeLine{00191\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_None\ \ \ \ \ \ \ \ AAX\_eTracePriorityDSP\_None}}
\DoxyCodeLine{00192\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Critical\ \ \ \ AAX\_eTracePriorityDSP\_High}}
\DoxyCodeLine{00193\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_High\ \ \ \ \ \ \ \ AAX\_eTracePriorityDSP\_High}}
\DoxyCodeLine{00194\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Normal\ \ \ \ \ \ AAX\_eTracePriorityDSP\_Normal}}
\DoxyCodeLine{00195\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Low\ \ \ \ \ \ \ \ \ AAX\_eTracePriorityDSP\_Low}}
\DoxyCodeLine{00196\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Lowest\ \ \ \ \ \ AAX\_eTracePriorityDSP\_Low}}
\DoxyCodeLine{00197\ }
\DoxyCodeLine{00198\ \ \ \ \ \textcolor{comment}{//Note\ that\ the\ Message\ provided\ to\ AAX\_TRACE\ must\ be\ a\ cons\ string\ available\ for\ indefinite\ time}}
\DoxyCodeLine{00199\ \ \ \ \ \textcolor{comment}{//\ because\ sending\ it\ to\ the\ host\ is\ done\ asynchronously.}}
\DoxyCodeLine{00200\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACE\_RELEASE(\ ...\ )\ TISHELLTRACE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00201\ }
\DoxyCodeLine{00202\ \ \ \ \ \textcolor{comment}{//Stack\ traces\ not\ supported\ on\ TI\ -\/\ just\ log}}
\DoxyCodeLine{00203\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_STACKTRACE\_RELEASE(\ ...\ )\ TISHELLTRACE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00204\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ TISHELLTRACE(\ iTracePriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00205\ }
\DoxyCodeLine{00206\ \textcolor{preprocessor}{\ \ \ \ \#define\ \_STRINGIFY(x)\ \#x}}
\DoxyCodeLine{00207\ \textcolor{preprocessor}{\ \ \ \ \#define\ \_TOSTRING(x)\ \_STRINGIFY(x)}}
\DoxyCodeLine{00208\ }
\DoxyCodeLine{00209\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_ASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00210\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00211\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (condition)\ )\ \_DoTrace(\ AAX\_eTracePriorityDSP\_Assert,\ \(\backslash\)}}
\DoxyCodeLine{00212\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ CAT(CAT(\ CAT(\_\_FILE\_\_,\ "{}:"{}}),\ \_TOSTRING(\_\_LINE\_\_)\ )\ ,\ CAT("{}\ failed:\ "{},\ \#condition)\ )\ );\(\backslash\)}
\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00214\ }
\DoxyCodeLine{00215\ \textcolor{preprocessor}{\ \ \ \ \#if\ defined(\_DEBUG)}}
\DoxyCodeLine{00216\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ AAX\_ASSERT(\ condition\ )}}
\DoxyCodeLine{00217\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ ...\ )\ AAX\_TRACE\_RELEASE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00218\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ ...\ )\ AAX\_STACKTRACE\_RELEASE(\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00219\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00220\ }
\DoxyCodeLine{00221\ \textcolor{preprocessor}{\ \ \ \ \#else}}
\DoxyCodeLine{00222\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00223\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00224\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00225\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00226\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00227\ }
\DoxyCodeLine{00228\ \textcolor{preprocessor}{\#else\ }\textcolor{comment}{//\ Host:}}
\DoxyCodeLine{00229\ }
\DoxyCodeLine{00230\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ AAX\_CHOSTSERVICES\_H}}
\DoxyCodeLine{00231\ \textcolor{preprocessor}{\ \ \ \ \#include\ "{}\mbox{\hyperlink{a00602}{AAX\_CHostServices.h}}"{}}}
\DoxyCodeLine{00232\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00233\ }
\DoxyCodeLine{00234\ \ \ \ \ \textcolor{keyword}{typedef}\ \mbox{\hyperlink{a00446_a2dd667e4dea5781f38832fd9f1725f1b}{AAX\_ETracePriorityHost}}\ \mbox{\hyperlink{a00740_a28ae6ea1f243f005a891c5c77a5a5211}{AAX\_ETracePriority}};}
\DoxyCodeLine{00235\ }
\DoxyCodeLine{00236\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_None\ \ \ \ \ \ \ \ AAX\_eTracePriorityHost\_None}}
\DoxyCodeLine{00237\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Critical\ \ \ \ AAX\_eTracePriorityHost\_Critical}}
\DoxyCodeLine{00238\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_High\ \ \ \ \ \ \ \ AAX\_eTracePriorityHost\_High}}
\DoxyCodeLine{00239\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Normal\ \ \ \ \ \ AAX\_eTracePriorityHost\_Normal}}
\DoxyCodeLine{00240\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Low\ \ \ \ \ \ \ \ \ AAX\_eTracePriorityHost\_Low}}
\DoxyCodeLine{00241\ \textcolor{preprocessor}{\ \ \ \ \#define\ kAAX\_Trace\_Priority\_Lowest\ \ \ \ \ \ AAX\_eTracePriorityHost\_Lowest}}
\DoxyCodeLine{00242\ }
\DoxyCodeLine{00243\ \ \ \ \ \textcolor{comment}{//Note\ that\ the\ Message\ provided\ to\ AAX\_TRACE\ must\ be\ a\ const\ string\ available\ for\ indefinite\ time}}
\DoxyCodeLine{00244\ \ \ \ \ \textcolor{comment}{//\ because\ sending\ it\ to\ the\ host\ is\ done\ asynchronously\ on\ TI}}
\DoxyCodeLine{00245\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACE\_RELEASE(\ iPriority,\ ...\ )\ \(\backslash\)}}
\DoxyCodeLine{00246\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00247\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::Trace\ (\ iPriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}}
\DoxyCodeLine{00248\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00249\ }
\DoxyCodeLine{00250\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_STACKTRACE\_RELEASE(\ iPriority,\ ...\ )\ \(\backslash\)}}
\DoxyCodeLine{00251\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00252\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::StackTrace\ (\ iPriority,\ iPriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}}
\DoxyCodeLine{00253\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00254\ }
\DoxyCodeLine{00255\ \textcolor{preprocessor}{\ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ \(\backslash\)}}
\DoxyCodeLine{00256\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00257\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::StackTrace\ (\ iTracePriority,\ iStackTracePriority,\ \_\_VA\_ARGS\_\_\ );\ \(\backslash\)}}
\DoxyCodeLine{00258\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00259\ }
\DoxyCodeLine{00260\ \textcolor{preprocessor}{\ \ \ \ \#if\ defined(\_DEBUG)}}
\DoxyCodeLine{00261\ }
\DoxyCodeLine{00262\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_ASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00263\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00264\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (\ condition\ )\ )\ \{\ \(\backslash\)}}
\DoxyCodeLine{00265\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::HandleAssertFailure(\ \_\_FILE\_\_,\ \_\_LINE\_\_,\ \#condition,\ (int32\_t)AAX\_eAssertFlags\_Log\ |\ (int32\_t)AAX\_eAssertFlags\_Dialog\ );\ \(\backslash\)}}
\DoxyCodeLine{00266\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \(\backslash\)}}
\DoxyCodeLine{00267\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00268\ }
\DoxyCodeLine{00269\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00270\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00271\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (\ condition\ )\ )\ \{\ \(\backslash\)}}
\DoxyCodeLine{00272\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::HandleAssertFailure(\ \_\_FILE\_\_,\ \_\_LINE\_\_,\ \#condition,\ (int32\_t)AAX\_eAssertFlags\_Log\ |\ (int32\_t)AAX\_eAssertFlags\_Dialog\ );\ \(\backslash\)}}
\DoxyCodeLine{00273\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \(\backslash\)}}
\DoxyCodeLine{00274\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00275\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00276\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ iPriority,\ ...\ )\ AAX\_TRACE\_RELEASE(\ iPriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00277\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ iPriority,\ ...\ )\ AAX\_STACKTRACE\_RELEASE(\ iPriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00278\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ AAX\_TRACEORSTACKTRACE\_RELEASE(\ iTracePriority,\ iStackTracePriority,\ \_\_VA\_ARGS\_\_\ )}}
\DoxyCodeLine{00279\ }
\DoxyCodeLine{00280\ \textcolor{preprocessor}{\ \ \ \ \#else}}
\DoxyCodeLine{00281\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_ASSERT(\ condition\ )\ \(\backslash\)}}
\DoxyCodeLine{00282\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \{\ \(\backslash\)}}
\DoxyCodeLine{00283\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if(\ !\ (\ condition\ )\ )\ \{\ \(\backslash\)}}
\DoxyCodeLine{00284\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AAX\_CHostServices::HandleAssertFailure(\ \_\_FILE\_\_,\ \_\_LINE\_\_,\ \#condition,\ (int32\_t)AAX\_eAssertFlags\_Log\ );\ \(\backslash\)}}
\DoxyCodeLine{00285\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\ \(\backslash\)}}
\DoxyCodeLine{00286\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \};}}
\DoxyCodeLine{00287\ }
\DoxyCodeLine{00288\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_DEBUGASSERT(\ condition\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00289\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACE(\ iPriority,\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00290\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_STACKTRACE(\ iPriority,\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00291\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \#define\ AAX\_TRACEORSTACKTRACE(\ iTracePriority,\ iStackTracePriority,\ ...\ )\ do\ \{\ ;\ \}\ while\ (0)}}
\DoxyCodeLine{00292\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00293\ }
\DoxyCodeLine{00294\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00295\ }
\DoxyCodeLine{00296\ }
\DoxyCodeLine{00297\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ include\ guard}}
\DoxyCodeLine{00298\ \textcolor{comment}{//\ end\ of\ AAX\_Assert.h}}

\end{DoxyCode}
