\hypertarget{a00737_source}{}\doxysection{AAX\+\_\+\+CSession\+Document\+Client.\+h}
\label{a00737_source}\index{AAX\_CSessionDocumentClient.h@{AAX\_CSessionDocumentClient.h}}
\mbox{\hyperlink{a00737}{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\ 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{00029\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00032\ \textcolor{preprocessor}{\#ifndef\ AAX\_CSessionDocumentClient\_H}}
\DoxyCodeLine{00033\ \textcolor{preprocessor}{\#define\ AAX\_CSessionDocumentClient\_H}}
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00035\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00743}{AAX\_ISessionDocumentClient.h}}"{}}}
\DoxyCodeLine{00036\ \textcolor{preprocessor}{\#include\ <memory>}}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00038\ \textcolor{preprocessor}{\#ifdef\ \_\_clang\_\_}}
\DoxyCodeLine{00039\ \textcolor{preprocessor}{\#pragma\ clang\ diagnostic\ push}}
\DoxyCodeLine{00040\ \textcolor{preprocessor}{\#pragma\ clang\ diagnostic\ ignored\ "{}-\/Wunused-\/parameter"{}}}
\DoxyCodeLine{00041\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00043\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02222}{AAX\_IController}};}
\DoxyCodeLine{00044\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02266}{AAX\_IEffectParameters}};}
\DoxyCodeLine{00045\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02318}{AAX\_ISessionDocument}};}
\DoxyCodeLine{00046\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02422}{AAX\_VSessionDocument}};}
\DoxyCodeLine{00047\ }
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00051\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01930}{AAX\_CSessionDocumentClient}}\ :\ \ \ \ \textcolor{keyword}{public}\ \mbox{\hyperlink{a02326}{AAX\_ISessionDocumentClient}}}
\DoxyCodeLine{00052\ \{}
\DoxyCodeLine{00053\ \textcolor{keyword}{public}:\ }
\DoxyCodeLine{00054\ }
\DoxyCodeLine{00055\ \ \ \ \ \mbox{\hyperlink{a01930_affa536979999ca45a249e3eeadcc80ad}{AAX\_CSessionDocumentClient}}(\textcolor{keywordtype}{void});}
\DoxyCodeLine{00056\ \ \ \ \ \mbox{\hyperlink{a01930_a770a031423c851419ff603e210fcc6a5}{\string~AAX\_CSessionDocumentClient}}(\textcolor{keywordtype}{void})\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00057\ }
\DoxyCodeLine{00058\ \textcolor{keyword}{public}:\ }
\DoxyCodeLine{00059\ }
\DoxyCodeLine{00066\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01930_a40ffef846d5b47aa257975e506a2edba}{Initialize}}\ (\mbox{\hyperlink{a01770}{IACFUnknown}}\ *\ iUnknown)\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00070\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01930_a58046e3e778b8b0b36b9a13e38ecdd7e}{Uninitialize}}\ (\textcolor{keywordtype}{void})\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00072\ }
\DoxyCodeLine{00079\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01930_aeba05d292123a286ed06f5157b6de65a}{SetSessionDocument}}(\mbox{\hyperlink{a01770}{IACFUnknown}}\ *\ iSessionDocument)\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00081\ \ \ \ \ }
\DoxyCodeLine{00088\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01930_ae0f7fee76ea1bf32d31f179219af0aa7}{NotificationReceived}}(\textcolor{comment}{/*\ AAX\_ENotificationEvent\ */}\ \mbox{\hyperlink{a00542_ac678f9c1fbcc26315d209f71a147a175}{AAX\_CTypeID}}\ \textcolor{comment}{/*inNotificationType*/},\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}\ *\ \textcolor{comment}{/*inNotificationData*/},\ uint32\_t\ \textcolor{comment}{/*inNotificationDataSize*/})\ \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}}\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a00539_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}};\ \}}
\DoxyCodeLine{00090\ }
\DoxyCodeLine{00091\ \textcolor{keyword}{protected}:\ }
\DoxyCodeLine{00092\ }
\DoxyCodeLine{00104\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01930_a175bdf3141a484f01b7c7807b28fe524}{SessionDocumentWillChange}}()\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a00539_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}};\ \}}
\DoxyCodeLine{00113\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01930_aebb6dd700bf8e125a8765713e7cb9b3c}{SessionDocumentChanged}}()\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a00539_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\_SUCCESS}};\ \}}
\DoxyCodeLine{00115\ }
\DoxyCodeLine{00123\ \ \ \ \ \mbox{\hyperlink{a02222}{AAX\_IController}}*\ \mbox{\hyperlink{a01930_a9d5228bf8b68a648d5a2bc8b97972168}{GetController}}\ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00124\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a02222}{AAX\_IController}}*\ \mbox{\hyperlink{a01930_afbcbfc5aba669c0595043baa2ed2ebf1}{GetController}}\ (\textcolor{keywordtype}{void})\ \textcolor{keyword}{const};\ }
\DoxyCodeLine{00125\ \ \ \ \ }
\DoxyCodeLine{00130\ \ \ \ \ \mbox{\hyperlink{a02266}{AAX\_IEffectParameters}}*\ \mbox{\hyperlink{a01930_a5f66c4a952f259e05ec2aef96d792bd2}{GetEffectParameters}}\ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00131\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a02266}{AAX\_IEffectParameters}}*\ \mbox{\hyperlink{a01930_a82b74a9ff54b698fae8a3f1ccb60439a}{GetEffectParameters}}\ (\textcolor{keywordtype}{void})\ \textcolor{keyword}{const};\ }
\DoxyCodeLine{00132\ \ \ \ \ }
\DoxyCodeLine{00137\ \ \ \ \ std::shared\_ptr<AAX\_ISessionDocument>\ \mbox{\hyperlink{a01930_acbe0bea97e3b92980b3ec791e423baba}{GetSessionDocument}}\ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00138\ \ \ \ \ std::shared\_ptr<const\ AAX\_ISessionDocument>\ \mbox{\hyperlink{a01930_a88ae2798fc575dd6dca81a5eb5e24d9c}{GetSessionDocument}}\ (\textcolor{keywordtype}{void})\ \textcolor{keyword}{const};\ }
\DoxyCodeLine{00140\ }
\DoxyCodeLine{00141\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00142\ \ \ \ \ \textcolor{keywordtype}{void}\ ClearInternalState();}
\DoxyCodeLine{00143\ }
\DoxyCodeLine{00144\ \ \ \ \ \textcolor{comment}{//These\ are\ private,\ but\ they\ all\ have\ protected\ accessors.\ }}
\DoxyCodeLine{00145\ \ \ \ \ \mbox{\hyperlink{a00542_a0a58bb9dab931dfe26d8edeb4e5e6319}{AAX\_UNIQUE\_PTR}}(\mbox{\hyperlink{a02222}{AAX\_IController}})\ mController;}
\DoxyCodeLine{00146\ \ \ \ \ \mbox{\hyperlink{a02266}{AAX\_IEffectParameters}}\ *\ mEffectParameters;}
\DoxyCodeLine{00147\ \ \ \ \ std::shared\_ptr<AAX\_VSessionDocument>\ mSessionDocument;}
\DoxyCodeLine{00148\ \};}
\DoxyCodeLine{00149\ }
\DoxyCodeLine{00150\ \textcolor{preprocessor}{\#ifdef\ \_\_clang\_\_}}
\DoxyCodeLine{00151\ \textcolor{preprocessor}{\#pragma\ clang\ diagnostic\ pop}}
\DoxyCodeLine{00152\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00153\ }
\DoxyCodeLine{00154\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ AAX\_CSessionDocumentClient}}

\end{DoxyCode}
