\hypertarget{a00518_source}{}\doxysection{AAX\+\_\+\+CChunk\+Data\+Parser.\+h}
\label{a00518_source}\index{AAX\_CChunkDataParser.h@{AAX\_CChunkDataParser.h}}
\mbox{\hyperlink{a00518}{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,\ 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{00019\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ }
\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00023\ }
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#ifndef\ AAX\_CHUNKDATAPARSER\_H}}
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#define\ AAX\_CHUNKDATAPARSER\_H}}
\DoxyCodeLine{00026\ }
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00533}{AAX.h}}"{}}}
\DoxyCodeLine{00028\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00413}{AAX\_CString.h}}"{}}}
\DoxyCodeLine{00029\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00031\ \textcolor{comment}{//forward\ declarations}}
\DoxyCodeLine{00032\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{a01769}{AAX\_SPlugInChunk}};}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00037\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{a00934}{AAX\_ChunkDataParserDefs}}\ \{}
\DoxyCodeLine{00038\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_ad5dab97f040a4e216054bec18a3a3848}{FLOAT\_TYPE}}\ =\ 1;}
\DoxyCodeLine{00039\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{a00934_a8340a22e9392091da5acf3bbbea18fc6}{FLOAT\_STRING\_IDENTIFIER}}[]\ =\ \textcolor{stringliteral}{"{}f\_"{}};}
\DoxyCodeLine{00040\ }
\DoxyCodeLine{00041\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_a228099aae2d4442465b8d8ba67d832c7}{LONG\_TYPE}}\ =\ 2;}
\DoxyCodeLine{00042\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{a00934_af53f70a76b16ae3e06cd38515f3842e1}{LONG\_STRING\_IDENTIFIER}}[]\ =\ \textcolor{stringliteral}{"{}l\_"{}};}
\DoxyCodeLine{00043\ \ \ \ \ }
\DoxyCodeLine{00044\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_a4724cff14c9b5d97bf3304247c717763}{DOUBLE\_TYPE}}\ =\ 3;}
\DoxyCodeLine{00045\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{a00934_a9875551b1fa5760f6b6d4525d62d7ccc}{DOUBLE\_STRING\_IDENTIFIER}}[]\ =\ \textcolor{stringliteral}{"{}d\_"{}};}
\DoxyCodeLine{00046\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_a485cccfc704f0da8c1d25aa0ba5723ab}{DOUBLE\_TYPE\_SIZE}}\ =\ 8;}
\DoxyCodeLine{00047\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_aaa27d90baca7ee4caaeab126c56ff76f}{DOUBLE\_TYPE\_INCR}}\ =\ 8;}
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00049\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_a4e1dca1df2ca60f4325cddbbc7556121}{SHORT\_TYPE}}\ =\ 4;}
\DoxyCodeLine{00050\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{a00934_a5d6864069bd1e6c2850bee584b6246c8}{SHORT\_STRING\_IDENTIFIER}}[]\ =\ \textcolor{stringliteral}{"{}s\_"{}};}
\DoxyCodeLine{00051\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_a6807b39d59eed044eeefbd82c1fc9197}{SHORT\_TYPE\_SIZE}}\ =\ 2;}
\DoxyCodeLine{00052\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_a9aefe47f82372a9983eb5c00c14ac766}{SHORT\_TYPE\_INCR}}\ =\ 4;\ \textcolor{comment}{//\ keep\ life\ word\ aligned}}
\DoxyCodeLine{00053\ }
\DoxyCodeLine{00054\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_aa7125477a4c5349f73b433334e9c4254}{STRING\_TYPE}}\ =\ 5;}
\DoxyCodeLine{00055\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{a00934_a3004646ddde8fc7d2ddf5402f50734f4}{STRING\_STRING\_IDENTIFIER}}[]\ =\ \textcolor{stringliteral}{"{}r\_"{}};}
\DoxyCodeLine{00056\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_a7c0e3fa427134810f5f7e12ae51c0e4e}{MAX\_STRINGDATA\_LENGTH}}\ =\ 255;}
\DoxyCodeLine{00057\ \ \ \ \ }
\DoxyCodeLine{00058\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_af40b7896c48bd8bb3ac060601e5e6945}{DEFAULT32BIT\_TYPE\_SIZE}}\ =\ 4;}
\DoxyCodeLine{00059\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_a6d7547242543558d67e96139a5627dd2}{DEFAULT32BIT\_TYPE\_INCR}}\ =\ 4;}
\DoxyCodeLine{00060\ \ \ \ \ }
\DoxyCodeLine{00061\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_a11fc46547f00cbbe29b02b1ebd0f3dd0}{STRING\_IDENTIFIER\_SIZE}}\ =\ 2;}
\DoxyCodeLine{00062\ \ \ \ \ }
\DoxyCodeLine{00063\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_a4af33563bfa9a20e489750090bb68329}{NAME\_NOT\_FOUND}}\ =\ -\/1;}
\DoxyCodeLine{00064\ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{a00934_a8cd7e74db8ce7ce5c4efdb9c5388742a}{MAX\_NAME\_LENGTH}}\ =\ 255;}
\DoxyCodeLine{00065\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_ab6190197be23431113a1f2b3f445ac9d}{BUILD\_DATA\_FAILED}}\ =\ -\/333;}
\DoxyCodeLine{00066\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_a4781240b7c5d7e82d07278fd9e6f7524}{HEADER\_SIZE}}\ =\ 4;}
\DoxyCodeLine{00067\ \ \ \ \ \textcolor{keyword}{const}\ int32\_t\ \mbox{\hyperlink{a00934_ae795429da33216b570397920343b8f05}{VERSION\_ID\_1}}\ =\ 0x01010101;}
\DoxyCodeLine{00068\ \}}
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00114\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01817}{AAX\_CChunkDataParser}}}
\DoxyCodeLine{00115\ \{}
\DoxyCodeLine{00116\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{00117\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01817_acf61d78b965c04e6af597379edad5a39}{AAX\_CChunkDataParser}}();}
\DoxyCodeLine{00118\ \ \ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a01817_a4a31f21eaad9742482051f05f08fb72b}{\string~AAX\_CChunkDataParser}}();}
\DoxyCodeLine{00119\ }
\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_aa85606ec7ad6e142abceb1097dcd2480}{AddFloat}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \textcolor{keywordtype}{float}\ value);}
\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_a3dc9ec20551559ac3bdae8bf981ace8a}{AddDouble}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \textcolor{keywordtype}{double}\ value);\ }
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_a6000b5c93362f3fe35d59d197f340306}{AddInt32}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ int32\_t\ value);\ \ }
\DoxyCodeLine{00128\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_a06541319eb6f0628d33518b0485cd8cc}{AddInt16}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ int16\_t\ value);\ \ }
\DoxyCodeLine{00129\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_a8a06f076c8e1c93df9348857abf50e39}{AddString}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \mbox{\hyperlink{a01933}{AAX\_CString}}\ value);}
\DoxyCodeLine{00130\ }
\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01817_a0651792f378318532e5be3799b108e58}{FindFloat}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \textcolor{keywordtype}{float}\ *value);}
\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01817_ac853da85bf797172a8bc3db5bcf98e66}{FindDouble}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \textcolor{keywordtype}{double}\ *value);\ \ }
\DoxyCodeLine{00138\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01817_ad6bbac0856350d4d1734cb7de594149a}{FindInt32}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ int32\_t\ *value);\ \ \ \ \ \ \ }
\DoxyCodeLine{00139\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01817_aaa004cdaafabb16caf7c0bad7e71db8f}{FindInt16}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ int16\_t\ *value);\ \ \ \ \ \ \ }
\DoxyCodeLine{00140\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01817_a4272b40bb46bb54c0083d7313b3d73f7}{FindString}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \mbox{\hyperlink{a01933}{AAX\_CString}}\ *value);}
\DoxyCodeLine{00141\ }
\DoxyCodeLine{00142\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01817_af394b04f20c198396c4a4090bdeff06c}{ReplaceDouble}}(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name,\ \textcolor{keywordtype}{double}\ value);\ \textcolor{comment}{//SW\ added\ for\ fela}}
\DoxyCodeLine{00143\ \ \ \ \ \ \ \ \ int32\_t\ \mbox{\hyperlink{a01817_a7cc4e0325d71d6957cdd10c1eaf5d8bc}{GetChunkData}}(\mbox{\hyperlink{a01769}{AAX\_SPlugInChunk}}\ *chunk);\ \ }
\DoxyCodeLine{00144\ \ \ \ \ \ \ \ \ int32\_t\ \mbox{\hyperlink{a01817_ac113458fcdec81f316014ea4c3d73582}{GetChunkDataSize}}();\ \ \ \ \ }
\DoxyCodeLine{00145\ \ \ \ \ \ \ \ \ int32\_t\ \mbox{\hyperlink{a01817_a8203d58398537e3d254b43f9d321af4c}{GetChunkVersion}}()\ \{\textcolor{keywordflow}{return}\ \mbox{\hyperlink{a01817_a5994e0adfb0189cbf5f9a3aa915b3f7d}{mChunkVersion}};\}\ \ \ \ \ \ \ }
\DoxyCodeLine{00146\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \ \ \ \mbox{\hyperlink{a01817_a88ab0773d25dad48ab6c693662243f47}{IsEmpty}}();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00147\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_a5718452d41c2292ba338b23ffc6cf29b}{Clear}}();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00149\ }
\DoxyCodeLine{00152\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_a25fc41a1060445db4d7bee7a2919460d}{LoadChunk}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01769}{AAX\_SPlugInChunk}}\ *chunk);\ \ }
\DoxyCodeLine{00153\ }
\DoxyCodeLine{00154\ \ \ \ \ \textcolor{keyword}{protected}:\ \ }
\DoxyCodeLine{00155\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_acaf10308e9758014bff6872b4260a9e1}{WordAlign}}(uint32\_t\ \&index);\ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00156\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \mbox{\hyperlink{a01817_a90dc10c7cb3f1a9af70179be70a8d739}{WordAlign}}(int32\_t\ \&index);\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00157\ \ \ \ \ \ \ \ \ int32\_t\ \mbox{\hyperlink{a01817_a66556bfad37d6541cf4d317a48d099c2}{FindName}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{a01933}{AAX\_CString}}\ \&Name);\ \ \ }
\DoxyCodeLine{00159\ }
\DoxyCodeLine{00166\ \ \ \ \ \ \ \ \ int32\_t\ \mbox{\hyperlink{a01817_a3e08508e7f92c6e43dd2de6a38868e2f}{mLastFoundIndex}};}
\DoxyCodeLine{00167\ }
\DoxyCodeLine{00168\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ \ \ \ *\mbox{\hyperlink{a01817_a67054cdc2d8e55ff2c26947930784bc9}{mChunkData}};}
\DoxyCodeLine{00169\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00170\ \ \ \ \ \ \ \ \ int32\_t\ \mbox{\hyperlink{a01817_a5994e0adfb0189cbf5f9a3aa915b3f7d}{mChunkVersion}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00171\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00172\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{a01821}{DataValue}}}
\DoxyCodeLine{00173\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00174\ \ \ \ \ \ \ \ \ \ \ \ \ int32\_t\ \ \ \ \ \mbox{\hyperlink{a01821_a38d8fad1f04efb4e332b77f1e008cccf}{mDataType}};}
\DoxyCodeLine{00175\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ \ \mbox{\hyperlink{a01821_a42eaa203593c95fc334e62bda6d7cee0}{mDataName}};\ \ \ \ \ }
\DoxyCodeLine{00176\ \ \ \ \ \ \ \ \ \ \ \ \ int64\_t\ \ \ \ \ \mbox{\hyperlink{a01821_ac72bf24dfa01f0947d4047979f56cede}{mIntValue}};\ \ \ \ \ }
\DoxyCodeLine{00177\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01933}{AAX\_CString}}\ \ \mbox{\hyperlink{a01821_a339c73c9bc16e4c4765911f4f0072814}{mStringValue}};\ \ \ }
\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00179\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01821_a987366216b93c23f40b8b040412ee2dd}{DataValue}}():}
\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01821_a38d8fad1f04efb4e332b77f1e008cccf}{mDataType}}(0),}
\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01821_a42eaa203593c95fc334e62bda6d7cee0}{mDataName}}(\mbox{\hyperlink{a01933}{AAX\_CString}}()),}
\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01821_ac72bf24dfa01f0947d4047979f56cede}{mIntValue}}(0),}
\DoxyCodeLine{00183\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01821_a339c73c9bc16e4c4765911f4f0072814}{mStringValue}}(\mbox{\hyperlink{a01933}{AAX\_CString}}())}
\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \ \ \ \ \{\};}
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \};}
\DoxyCodeLine{00186\ \ \ \ \ }
\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ std::vector<DataValue>\ \ \mbox{\hyperlink{a01817_af3963982859b42ddebdcaeba36dd1d29}{mDataValues}};}
\DoxyCodeLine{00188\ \};}
\DoxyCodeLine{00189\ }
\DoxyCodeLine{00190\ \textcolor{preprocessor}{\#endif\ \ }\textcolor{comment}{//AAX\_CHUNKDATAPARSER\_H}}

\end{DoxyCode}
