\label{doc_usecases_kdb_UC_get_config_md_md_doc_usecases_kdb_UC_get_config}%
\Hypertarget{doc_usecases_kdb_UC_get_config_md_md_doc_usecases_kdb_UC_get_config}%
 \hypertarget{doc_usecases_kdb_UC_get_config_md_autotoc_md4652}{}\doxysection{Summary}\label{doc_usecases_kdb_UC_get_config_md_autotoc_md4652}

\begin{DoxyItemize}
\item {\bfseries{Scope\+:}} {\ttfamily libelektra-\/kdb}
\item {\bfseries{Level\+:}} Developer Goal
\item {\bfseries{Actors\+:}} Application, Elektra
\item {\bfseries{Brief\+:}} Application loads configuration from KDB
\end{DoxyItemize}\hypertarget{doc_usecases_kdb_UC_get_config_md_autotoc_md4653}{}\doxysection{Scenarios}\label{doc_usecases_kdb_UC_get_config_md_autotoc_md4653}

\begin{DoxyItemize}
\item {\bfseries{Precondition\+:}} -\/
\item {\bfseries{Main success scenario\+:}}
\begin{DoxyItemize}
\item Application requests current configuration from KDB
\item Elektra loads from backends
\item Elektra returns configuration
\end{DoxyItemize}
\item {\bfseries{Alternative scenario\+:}}
\begin{DoxyItemize}
\item Application requests current configuration from KDB
\item Elektra detects configuration hasn\textquotesingle{}t changed and is already present in memory (of current instance)
\item Elektra returns previously loaded configuration
\end{DoxyItemize}
\item {\bfseries{Error scenario\+:}}
\begin{DoxyItemize}
\item Application requests current configuration from KDB
\item Elektra fails to load requested configuration
\item Elektra returns error with problem description
\end{DoxyItemize}
\item {\bfseries{Postcondition\+:}}
\begin{DoxyItemize}
\item The returned configuration MUST exactly match the requested part of the KDB
\end{DoxyItemize}
\item {\bfseries{Non-\/functional Constraints\+:}}
\begin{DoxyItemize}
\item Applications SHOULD be able to err on the side of \char`\"{}better load config more often than needed\char`\"{} rather than \char`\"{}only load when necessary\char`\"{}.
\begin{DoxyItemize}
\item Loading configuration MUST be reasonably fast, especially when nothing has changed (caching!).
\item Reloading configuration MUST NOT destroy previously loaded configuration. 
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}