\doxysection{G\+:/ids/dragonfly/docs Directory Reference}
\hypertarget{dir_6b1f4820e2481aa5a1ea9b2275f196d9}{}\label{dir_6b1f4820e2481aa5a1ea9b2275f196d9}\index{G:/ids/dragonfly/docs Directory Reference@{G:/ids/dragonfly/docs Directory Reference}}
\doxysubsubsection*{Directories}
\begin{DoxyCompactItemize}
\item 
directory \mbox{\hyperlink{dir_71f12be5768ca2af9c9f300d019944af}{basic}}
\item 
directory \mbox{\hyperlink{dir_10eb6422e80bd721a9a7af022f58c68b}{core}}
\item 
directory \mbox{\hyperlink{dir_1d1eabba2c636e67297dc8cee9bc9944}{hash}}
\item 
directory \mbox{\hyperlink{dir_72c6efb7383bf0530aa073c1e7428252}{list}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This documentation provides details on all functions available in {\ttfamily Arma\+Dragonfly\+Client}. These functions allow you to interact with the in-\/memory database system for Arma 3.\hypertarget{README.md_autotoc_md345}{}\doxysubsection{\texorpdfstring{Function Categories}{Function Categories}}\label{README.md_autotoc_md345}
The functions are categorized by their purpose\+:\hypertarget{README.md_autotoc_md346}{}\doxysubsubsection{\texorpdfstring{Core Functions}{Core Functions}}\label{README.md_autotoc_md346}

\begin{DoxyItemize}
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{init}{0} -\/ Initialize the database system
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{handler}{0} -\/ Handle callbacks from the extension
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{process\+Queue}{0} -\/ Process queued database operations
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{scheduler}{0} -\/ Schedule database operations
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{add\+Task}{0} -\/ Add a task to the scheduler
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{print\+Addon\+Name}{0} -\/ Print the addon name
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{test}{0} -\/ Test the database connection
\end{DoxyItemize}\hypertarget{README.md_autotoc_md347}{}\doxysubsubsection{\texorpdfstring{Basic Data Operations}{Basic Data Operations}}\label{README.md_autotoc_md347}

\begin{DoxyItemize}
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2get}{get}{0} -\/ Get a value from the database
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2set}{set}{0} -\/ Set a value in the database
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}{delete}{0} -\/ Delete a value from the database
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2save}{save}{0} -\/ Save the database to disk
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch}{fetch}{0} -\/ Fetch a value from the database
\end{DoxyItemize}\hypertarget{README.md_autotoc_md348}{}\doxysubsubsection{\texorpdfstring{Hash Operations}{Hash Operations}}\label{README.md_autotoc_md348}

\begin{DoxyItemize}
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{hash\+Get}{0} -\/ Get a field from a hash
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{hash\+Get\+All}{0} -\/ Get all fields from a hash
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{hash\+Get\+All\+Id}{0} -\/ Get all fields from a hash for a specific ID
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{hash\+Get\+Id}{0} -\/ Get a field from a hash for a specific ID
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{hash\+Set}{0} -\/ Set a field in a hash
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{hash\+Set\+Bulk}{0} -\/ Set multiple fields in a hash in one operation
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{hash\+Set\+Id}{0} -\/ Set a field in a hash for a specific ID
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{hash\+Set\+Id\+Bulk}{0} -\/ Set multiple fields in a hash for a specific ID in one operation
\end{DoxyItemize}\hypertarget{README.md_autotoc_md349}{}\doxysubsubsection{\texorpdfstring{List Operations}{List Operations}}\label{README.md_autotoc_md349}

\begin{DoxyItemize}
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{list\+Add}{0} -\/ Add an item to a list
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{list\+Get}{0} -\/ Get items from a list
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{list\+Load}{0} -\/ Load a list from the database
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{list\+Remove}{0} -\/ Remove an item from a list
\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{list\+Set}{0} -\/ Set an item in a list
\end{DoxyItemize}\hypertarget{README.md_autotoc_md350}{}\doxysubsection{\texorpdfstring{Usage Examples}{Usage Examples}}\label{README.md_autotoc_md350}
\hypertarget{README.md_autotoc_md351}{}\doxysubsubsection{\texorpdfstring{Basic Usage}{Basic Usage}}\label{README.md_autotoc_md351}

\begin{DoxyCode}{0}
\DoxyCodeLine{//\ Initialize\ the\ database}
\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_init;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Set\ a\ value}
\DoxyCodeLine{["{}myKey"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_set;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Get\ a\ value}
\DoxyCodeLine{["{}myKey"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_get;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Delete\ a\ key}
\DoxyCodeLine{["{}myKey"{}]\ call\ dragonfly\_db\_fnc\_delete;}

\end{DoxyCode}
\hypertarget{README.md_autotoc_md352}{}\doxysubsubsection{\texorpdfstring{Hash Operations}{Hash Operations}}\label{README.md_autotoc_md352}

\begin{DoxyCode}{0}
\DoxyCodeLine{//\ Set\ a\ hash\ field\ (context\ mode)}
\DoxyCodeLine{["{}myField"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_hashSet;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Get\ a\ hash\ field\ (context\ mode)}
\DoxyCodeLine{["{}myField"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGet;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Get\ all\ hash\ fields\ (context\ mode)}
\DoxyCodeLine{["{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGetAll;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Set\ multiple\ hash\ fields\ (context\ mode)}
\DoxyCodeLine{[[}
\DoxyCodeLine{\ \ \ \ "{}loadout"{},\ [getUnitLoadout\ player],}
\DoxyCodeLine{\ \ \ \ "{}position"{},\ [getPosASL\ player],}
\DoxyCodeLine{\ \ \ \ "{}direction"{},\ [getDir\ player],}
\DoxyCodeLine{\ \ \ \ "{}stance"{},\ [stance\ player]}
\DoxyCodeLine{]]\ call\ dragonfly\_db\_fnc\_hashSetBulk;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Remove\ a\ hash\ field\ (context\ mode)}
\DoxyCodeLine{["{}myField"{}]\ call\ dragonfly\_db\_fnc\_hashRemove;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Delete\ a\ hash\ table\ (context\ mode)}
\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_hashDelete;}

\end{DoxyCode}
 
\begin{DoxyCode}{0}
\DoxyCodeLine{//\ Set\ a\ hash\ field\ for\ specific\ ID}
\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_hashSetId;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Get\ a\ hash\ field\ for\ specific\ ID}
\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGetId;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Get\ all\ hash\ fields\ for\ specific\ ID}
\DoxyCodeLine{["{}myHash"{}]\ call\ dragonfly\_db\_fnc\_hashGetAllId;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Set\ multiple\ hash\ fields\ for\ specific\ ID}
\DoxyCodeLine{[[}
\DoxyCodeLine{\ \ \ \ getPlayerUID\ player,}
\DoxyCodeLine{\ \ \ \ "{}loadout"{},\ [getUnitLoadout\ player],}
\DoxyCodeLine{\ \ \ \ "{}position"{},\ [getPosASL\ player],}
\DoxyCodeLine{\ \ \ \ "{}direction"{},\ [getDir\ player],}
\DoxyCodeLine{\ \ \ \ "{}stance"{},\ [stance\ player]}
\DoxyCodeLine{]]\ call\ dragonfly\_db\_fnc\_hashSetIdBulk;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Remove\ a\ hash\ field\ for\ specific\ ID}
\DoxyCodeLine{["{}myHash"{},\ "{}myField"{}]\ call\ dragonfly\_db\_fnc\_hashRemoveId;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Delete\ a\ hash\ table\ for\ specific\ ID}
\DoxyCodeLine{["{}myHash"{}]\ call\ dragonfly\_db\_fnc\_hashDeleteId;}

\end{DoxyCode}
\hypertarget{README.md_autotoc_md353}{}\doxysubsubsection{\texorpdfstring{List Operations}{List Operations}}\label{README.md_autotoc_md353}

\begin{DoxyCode}{0}
\DoxyCodeLine{//\ Add\ an\ item\ to\ a\ list}
\DoxyCodeLine{["{}myList"{},\ ["{}myItem"{}]]\ call\ dragonfly\_db\_fnc\_listAdd;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Set\ an\ item\ from\ a\ list}
\DoxyCodeLine{["{}myList"{},\ 0,\ [myNewValue]]\ call\ dragonfly\_db\_fnc\_listSet;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Get\ an\ item\ from\ a\ list}
\DoxyCodeLine{["{}myList"{},\ 0,\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_listGet;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Get\ items\ from\ a\ list}
\DoxyCodeLine{["{}myList"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_listLoad;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Remove\ an\ item\ from\ a\ list}
\DoxyCodeLine{["{}myList"{},\ 0]\ call\ dragonfly\_db\_fnc\_listRemove;}
\DoxyCodeLine{}
\DoxyCodeLine{//\ Delete\ a\ list}
\DoxyCodeLine{["{}myList"{}]\ call\ dragonfly\_db\_fnc\_listDelete;}

\end{DoxyCode}
\hypertarget{README.md_autotoc_md354}{}\doxysubsection{\texorpdfstring{Function Documentation Structure}{Function Documentation Structure}}\label{README.md_autotoc_md354}
Each function documentation includes\+:
\begin{DoxyItemize}
\item Function name and purpose
\item Parameters
\item Return value
\item Examples
\item Notes and warnings
\end{DoxyItemize}\hypertarget{README.md_autotoc_md355}{}\doxysubsection{\texorpdfstring{License}{License}}\label{README.md_autotoc_md355}
This work is licensed under the Creative Commons Attribution-\/\+Non\+Commercial-\/\+Share\+Alike 4.\+0 International License. To view a copy of this license, visit \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{\texttt{ https\+://creativecommons.\+org/licenses/by-\/nc-\/sa/4.\+0/}} or send a letter to Creative Commons, ~\newline
PO Box 1866, Mountain View, CA 94042 