\hypertarget{a00806_source}{}\doxysection{AAX\+\_\+\+CPacket\+Dispatcher.\+h}
\label{a00806_source}\index{AAX\_CPacketDispatcher.h@{AAX\_CPacketDispatcher.h}}
\mbox{\hyperlink{a00806}{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-\/2017,\ 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{00032\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00035\ \textcolor{preprocessor}{\#ifndef\ AAX\_CPACKETDISPATCHER\_H}}
\DoxyCodeLine{00036\ \textcolor{preprocessor}{\#define\ AAX\_CPACKETDISPATCHER\_H}}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00038\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00542}{AAX.h}}"{}}}
\DoxyCodeLine{00039\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00716}{AAX\_IController.h}}"{}}}
\DoxyCodeLine{00040\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00443}{AAX\_CMutex.h}}"{}}}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00042\ \textcolor{preprocessor}{\#include\ <string>}}
\DoxyCodeLine{00043\ \textcolor{preprocessor}{\#include\ <map>}}
\DoxyCodeLine{00044\ }
\DoxyCodeLine{00045\ }
\DoxyCodeLine{00054\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01882}{AAX\_CPacket}}}
\DoxyCodeLine{00055\ \{}
\DoxyCodeLine{00056\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00057\ \ \ \ \ \mbox{\hyperlink{a01882_aff3be2253e450887b07a519c84fe47e2}{AAX\_CPacket}}(\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ inFieldIndex)\ :\ mID(inFieldIndex),\ mDirty(true),\ mDataSize(0)\ \{\}}
\DoxyCodeLine{00058\ \ \ \ \ \mbox{\hyperlink{a01882_ac0dc6c7d54d3e2d8b2717dcc55be839e}{\string~AAX\_CPacket}}()\ \{\}}
\DoxyCodeLine{00059\ \ \ \ \ }
\DoxyCodeLine{00060\ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}\ DataType>}
\DoxyCodeLine{00061\ \ \ \ \ DataType*\ \mbox{\hyperlink{a01882_a4aca1c12b86cd69a74c6f883ea6e21b7}{GetPtr}}()}
\DoxyCodeLine{00062\ \ \ \ \ \{}
\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ mDataSize\ =\ \textcolor{keyword}{sizeof}(DataType);}
\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ *\ data\ =\ mPacketData.Get(mDataSize);}
\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{reinterpret\_cast<}DataType*\textcolor{keyword}{>}\ (data);}
\DoxyCodeLine{00066\ \ \ \ \ \}}
\DoxyCodeLine{00067\ \ \ \ \ }
\DoxyCodeLine{00068\ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01882_a43449a06b1c20f85b90560ec30057570}{SetDirty}}(\textcolor{keywordtype}{bool}\ iDirty)\ \ \ \{\ mDirty\ =\ iDirty;\ \};}
\DoxyCodeLine{00069\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01882_a087f1867ade547149158bc623a614b16}{IsDirty}}()\textcolor{keyword}{\ const\ \ \ \ \ \ \ \ \ \ }\{\ \textcolor{keywordflow}{return}\ mDirty;\ \};}
\DoxyCodeLine{00070\ \ \ \ \ }
\DoxyCodeLine{00071\ \ \ \ \ \mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ \ \mbox{\hyperlink{a01882_ace0acc2bdd1d8df32e3ebe50d82498c6}{GetID}}()\textcolor{keyword}{\ const\ \ \ \ \ \ \ \ \ \ }\{\ \textcolor{keywordflow}{return}\ mID;\ \};}
\DoxyCodeLine{00072\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01882_a920ae1897adc0bbbea0b33000a9328b5}{GetSize}}()\textcolor{keyword}{\ const\ \ \ \ \ \ \ \ \ \ }\{\ \textcolor{keywordflow}{return}\ mDataSize;\ \}}
\DoxyCodeLine{00073\ \ \ \ \ }
\DoxyCodeLine{00074\ \textcolor{keyword}{private}:\ \ \ \ }
\DoxyCodeLine{00075\ \ \ \ \ \mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ \ mID;}
\DoxyCodeLine{00076\ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \ \ \ \ \ \ \ \ mDirty;}
\DoxyCodeLine{00077\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ mDataSize;}
\DoxyCodeLine{00078\ }
\DoxyCodeLine{00079\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00080\ \ \ \ \ \textcolor{keyword}{struct\ }SPacketData}
\DoxyCodeLine{00081\ \ \ \ \ \{}
\DoxyCodeLine{00082\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ SPacketData();}
\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \string~SPacketData();}
\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*\ Get()\ \textcolor{keyword}{const};}
\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}*\ Get(\textcolor{keywordtype}{size\_t}\ newSize)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00087\ \ \ \ \ \textcolor{keyword}{private}:\ \ \ \ }
\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \textcolor{keyword}{mutable}\ \textcolor{keywordtype}{void}*\ \ \ mData;}
\DoxyCodeLine{00089\ \ \ \ \ \}\ mPacketData;}
\DoxyCodeLine{00090\ \};}
\DoxyCodeLine{00091\ }
\DoxyCodeLine{00092\ \textcolor{comment}{//\ GetPtr()\ specialization\ for\ void*}}
\DoxyCodeLine{00093\ \textcolor{keyword}{template}\ <>}
\DoxyCodeLine{00094\ \textcolor{keyword}{inline}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*}
\DoxyCodeLine{00095\ AAX\_CPacket::GetPtr<const\ void>()}
\DoxyCodeLine{00096\ \{}
\DoxyCodeLine{00097\ \ \ \ \ \textcolor{keywordflow}{return}\ mPacketData.Get();}
\DoxyCodeLine{00098\ \}}
\DoxyCodeLine{00099\ }
\DoxyCodeLine{00100\ }
\DoxyCodeLine{00103\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{a01890}{AAX\_IPacketHandler}}}
\DoxyCodeLine{00104\ \{}
\DoxyCodeLine{00105\ \ \ \ \ \textcolor{keyword}{virtual}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01890_afaf774273572161ec49338cbf7e53a19}{\string~AAX\_IPacketHandler}}()\ \{\};}
\DoxyCodeLine{00106\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a01890}{AAX\_IPacketHandler}}*\ \ \ \mbox{\hyperlink{a01890_a738a144d05ae5996263ac7a2cc280de3}{Clone}}()\ \textcolor{keyword}{const}\ =\ 0;}
\DoxyCodeLine{00107\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01890_ab7b07bf6eb7f8f33ee3174ad54716de1}{Call}}(\ \mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ inParamID,\ \mbox{\hyperlink{a01882}{AAX\_CPacket}}\&\ ioPacket\ )\ \textcolor{keyword}{const}\ =\ 0;}
\DoxyCodeLine{00108\ \};}
\DoxyCodeLine{00109\ }
\DoxyCodeLine{00112\ \textcolor{keyword}{template}<\textcolor{keyword}{class}\ TWorker>}
\DoxyCodeLine{00113\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01894}{AAX\_CPacketHandler}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{a01890}{AAX\_IPacketHandler}}}
\DoxyCodeLine{00114\ \{}
\DoxyCodeLine{00115\ \ \ \ \ \textcolor{keyword}{typedef}\ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}(TWorker::*fPt2Fn)(\mbox{\hyperlink{a01882}{AAX\_CPacket}}\&);}
\DoxyCodeLine{00116\ \ \ \ \ \textcolor{keyword}{typedef}\ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}(TWorker::*fPt2FnEx)(\mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}},\ \mbox{\hyperlink{a01882}{AAX\_CPacket}}\&);}
\DoxyCodeLine{00117\ }
\DoxyCodeLine{00118\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00119\ \ \ \ \ \mbox{\hyperlink{a01894_a9199efa88f418df9c8e5caade283c147}{AAX\_CPacketHandler}}(\ TWorker*\ iPt2Object,\ fPt2Fn\ infPt\ )}
\DoxyCodeLine{00120\ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{a01894_ab9a5f88d1159060f5532aafb730dd861}{pt2Object}}(iPt2Object),\ \mbox{\hyperlink{a01894_a9350d1cc36f20c821c90d2372219561f}{fpt}}(infPt),\ \mbox{\hyperlink{a01894_aca6624820388e64f13d1b824dde033f5}{fptEx}}(NULL)\ \{\}}
\DoxyCodeLine{00121\ \ \ \ \ }
\DoxyCodeLine{00122\ \ \ \ \ \mbox{\hyperlink{a01894_aed86dcf0713ac1a983f6795170812c52}{AAX\_CPacketHandler}}(\ TWorker*\ iPt2Object,\ fPt2FnEx\ infPt\ )}
\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{a01894_ab9a5f88d1159060f5532aafb730dd861}{pt2Object}}(iPt2Object),\ \mbox{\hyperlink{a01894_a9350d1cc36f20c821c90d2372219561f}{fpt}}(NULL),\ \mbox{\hyperlink{a01894_aca6624820388e64f13d1b824dde033f5}{fptEx}}(infPt)\ \{\}}
\DoxyCodeLine{00124\ \ \ \ \ }
\DoxyCodeLine{00125\ \ \ \ \ \mbox{\hyperlink{a01890}{AAX\_IPacketHandler}}*\ \mbox{\hyperlink{a01894_a56f90ef0696c4ae6c3e804373a7c7223}{Clone}}()\textcolor{keyword}{\ const}}
\DoxyCodeLine{00126\ \textcolor{keyword}{\ \ \ \ }\{}
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{new}\ \mbox{\hyperlink{a01894}{AAX\_CPacketHandler}}(*\textcolor{keyword}{this});}
\DoxyCodeLine{00128\ \ \ \ \ \}}
\DoxyCodeLine{00129\ \ \ \ \ }
\DoxyCodeLine{00130\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01894_a29228bebdc801e6cbf0b67873c6d69ca}{Call}}(\ \mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ inParamID,\ \mbox{\hyperlink{a01882}{AAX\_CPacket}}\&\ ioPacket\ )\textcolor{keyword}{\ const}}
\DoxyCodeLine{00131\ \textcolor{keyword}{\ \ \ \ }\{}
\DoxyCodeLine{00132\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a01894_aca6624820388e64f13d1b824dde033f5}{fptEx}})}
\DoxyCodeLine{00133\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*\mbox{\hyperlink{a01894_ab9a5f88d1159060f5532aafb730dd861}{pt2Object}}.*\mbox{\hyperlink{a01894_aca6624820388e64f13d1b824dde033f5}{fptEx}})(\ inParamID,\ ioPacket);}
\DoxyCodeLine{00134\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{a01894_a9350d1cc36f20c821c90d2372219561f}{fpt}})}
\DoxyCodeLine{00135\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*\mbox{\hyperlink{a01894_ab9a5f88d1159060f5532aafb730dd861}{pt2Object}}.*\mbox{\hyperlink{a01894_a9350d1cc36f20c821c90d2372219561f}{fpt}})(\ ioPacket);}
\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a00539_a5f8c7439f3a706c4f8315a9609811937a647cce13fa531e3a46c6eab694048a9c}{AAX\_ERROR\_NULL\_OBJECT}};}
\DoxyCodeLine{00138\ \ \ \ \ \}}
\DoxyCodeLine{00139\ \ \ \ \ }
\DoxyCodeLine{00140\ \textcolor{keyword}{protected}:\ \ }
\DoxyCodeLine{00141\ \ \ \ \ TWorker\ *\ \ \ \mbox{\hyperlink{a01894_ab9a5f88d1159060f5532aafb730dd861}{pt2Object}};\ \textcolor{comment}{//\ pointer\ to\ object}}
\DoxyCodeLine{00142\ \ \ \ \ fPt2Fn\ \ \ \ \ \ \mbox{\hyperlink{a01894_a9350d1cc36f20c821c90d2372219561f}{fpt}}\ ;\ \ \ \ \ \ \ \ \textcolor{comment}{//\ pointer\ to\ member\ function}}
\DoxyCodeLine{00143\ \ \ \ \ fPt2FnEx\ \ \ \ \mbox{\hyperlink{a01894_aca6624820388e64f13d1b824dde033f5}{fptEx}}\ ;\ \ \ \ \ \ \ \ \textcolor{comment}{//\ pointer\ to\ member\ function}}
\DoxyCodeLine{00144\ \};}
\DoxyCodeLine{00145\ }
\DoxyCodeLine{00146\ }
\DoxyCodeLine{00147\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02266}{AAX\_IEffectParameters}};}
\DoxyCodeLine{00148\ }
\DoxyCodeLine{00162\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01898}{AAX\_CPacketDispatcher}}}
\DoxyCodeLine{00163\ \{}
\DoxyCodeLine{00164\ \ \ \ \ \textcolor{keyword}{typedef}\ std::map<AAX\_CFieldIndex,\ AAX\_CPacket*>\ PacketsHolder;\ \ }
\DoxyCodeLine{00165\ \ \ \ \ \textcolor{keyword}{typedef}\ std::multimap<std::string,\ std::pair<AAX\_CPacket*,\ AAX\_IPacketHandler*>\ >\ PacketsHandlersMap;}
\DoxyCodeLine{00166\ }
\DoxyCodeLine{00167\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00168\ \ \ \ \ \mbox{\hyperlink{a01898_a1b9b60206849807c11045fb865a4dd49}{AAX\_CPacketDispatcher}}();}
\DoxyCodeLine{00169\ \ \ \ \ \mbox{\hyperlink{a01898_a1eb3ce17e895e30106316c33bc44307f}{\string~AAX\_CPacketDispatcher}}();}
\DoxyCodeLine{00170\ \ \ \ \ }
\DoxyCodeLine{00171\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{a01898_abc64d59b8b9f652013ccf848987ea797}{Initialize}}(\ \mbox{\hyperlink{a02222}{AAX\_IController}}*\ iPlugIn,\ \mbox{\hyperlink{a02266}{AAX\_IEffectParameters}}*\ iEffectParameters);}
\DoxyCodeLine{00172\ \ \ \ \ }
\DoxyCodeLine{00173\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01898_a1848f0bfa473b54e9ee8e32872c89cb1}{RegisterPacket}}(\ \mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ paramID,\ \mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ portID,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{a01890}{AAX\_IPacketHandler}}*\ iHandler);}
\DoxyCodeLine{00174\ \ \ \ \ }
\DoxyCodeLine{00175\ \ \ \ \ \textcolor{keyword}{template}\ <\textcolor{keyword}{class}\ TWorker,\ \textcolor{keyword}{typename}\ Func>}
\DoxyCodeLine{00176\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01898_af83ca953818597116ef11a345eef2e36}{RegisterPacket}}(\ \mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ paramID,\ \mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ portID,}
\DoxyCodeLine{00177\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TWorker*\ iPt2Object,\ Func\ infPt)}
\DoxyCodeLine{00178\ \ \ \ \ \{}
\DoxyCodeLine{00179\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01894}{AAX\_CPacketHandler<TWorker>}}\ handler(iPt2Object,\ infPt);}
\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a01898_a1848f0bfa473b54e9ee8e32872c89cb1}{RegisterPacket}}(paramID,\ portID,\ \&handler);}
\DoxyCodeLine{00181\ \ \ \ \ \}}
\DoxyCodeLine{00182\ \ \ \ \ }
\DoxyCodeLine{00183\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01898_a767959a133afaa2e44bfafc79d0b5c69}{RegisterPacket}}(\ \mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ paramID,\ \mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\_CFieldIndex}}\ portID)}
\DoxyCodeLine{00184\ \ \ \ \ \{}
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01894}{AAX\_CPacketHandler<AAX\_CPacketDispatcher>}}\ handler(\textcolor{keyword}{this},\ \&\mbox{\hyperlink{a01898_afa837e03b555f3093144838bddd558f3}{AAX\_CPacketDispatcher::GenerateSingleValuePacket}});}
\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{a01898_a1848f0bfa473b54e9ee8e32872c89cb1}{RegisterPacket}}(paramID,\ portID,\ \&handler);}
\DoxyCodeLine{00187\ \ \ \ \ \}}
\DoxyCodeLine{00188\ \ \ \ \ }
\DoxyCodeLine{00189\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01898_a6d4254a842eeee46a227ec761619efb5}{SetDirty}}(\mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ paramID,\ \textcolor{keywordtype}{bool}\ iDirty\ =\ \textcolor{keyword}{true});}
\DoxyCodeLine{00190\ \ \ \ \ }
\DoxyCodeLine{00191\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \mbox{\hyperlink{a01898_aec68e7f8f440e394a3e4ab698a5f06f9}{Dispatch}}();}
\DoxyCodeLine{00192\ \ \ \ \ }
\DoxyCodeLine{00193\ \ \ \ \ \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \mbox{\hyperlink{a01898_afa837e03b555f3093144838bddd558f3}{GenerateSingleValuePacket}}(\ \mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\_CParamID}}\ iParam,\ \mbox{\hyperlink{a01882}{AAX\_CPacket}}\&\ ioPacket);}
\DoxyCodeLine{00194\ \ \ \ \ }
\DoxyCodeLine{00195\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00196\ \ \ \ \ PacketsHolder\ \ \ \ \ \ \ \ \ \ \ mPacketsHolder;}
\DoxyCodeLine{00197\ \ \ \ \ PacketsHandlersMap\ \ \ \ \ \ mPacketsHandlers;}
\DoxyCodeLine{00198\ \ \ \ \ \mbox{\hyperlink{a02222}{AAX\_IController}}*\ \ \ \ \ mController;}
\DoxyCodeLine{00199\ \ \ \ \ \mbox{\hyperlink{a02266}{AAX\_IEffectParameters}}*\ mEffectParameters;}
\DoxyCodeLine{00200\ }
\DoxyCodeLine{00201\ \ \ \ \ \mbox{\hyperlink{a01870}{AAX\_CMutex}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mLockGuard;}
\DoxyCodeLine{00202\ \};}
\DoxyCodeLine{00203\ }
\DoxyCodeLine{00204\ }
\DoxyCodeLine{00205\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ AAX\_CPACKETDISPATCHER\_H}}

\end{DoxyCode}
