\label{doc_usecases_core_UC_keyset_remove_md_md_doc_usecases_core_UC_keyset_remove}%
\Hypertarget{doc_usecases_core_UC_keyset_remove_md_md_doc_usecases_core_UC_keyset_remove}%
 \hypertarget{doc_usecases_core_UC_keyset_remove_md_autotoc_md4836}{}\doxysection{Summary}\label{doc_usecases_core_UC_keyset_remove_md_autotoc_md4836}

\begin{DoxyItemize}
\item {\bfseries{Scope\+:}} {\ttfamily libelektra-\/core}
\item {\bfseries{Level\+:}} Developer Goal
\item {\bfseries{Actors\+:}} Core, Caller
\item {\bfseries{Brief\+:}} Caller removes {\ttfamily Key} from existing {\ttfamily Key\+Set}
\end{DoxyItemize}\hypertarget{doc_usecases_core_UC_keyset_remove_md_autotoc_md4837}{}\doxysection{Scenarios}\label{doc_usecases_core_UC_keyset_remove_md_autotoc_md4837}

\begin{DoxyItemize}
\item {\bfseries{Precondition\+:}}
\begin{DoxyItemize}
\item \mbox{\hyperlink{doc_usecases_core_UC_keyset_create_md}{\`{}\+Key\+Set\`{} has been created}}
\end{DoxyItemize}
\item {\bfseries{Main success scenario\+:}}
\begin{DoxyItemize}
\item Caller requests to remove {\ttfamily Key} by name from {\ttfamily Key\+Set}
\item Core searches for {\ttfamily Key} with same name in {\ttfamily Key\+Set}
\item If a matching {\ttfamily Key} is found, Core removes it from {\ttfamily Key\+Set} returns a {\ttfamily Key $\ast$} to it. The name of the {\ttfamily Key} will be read-\/only, otherwise it is modifiable.
\item Otherwise, Core returns {\ttfamily NULL}
\end{DoxyItemize}
\item {\bfseries{Alternative scenario\+:}} -\/
\item {\bfseries{Error scenario\+:}} -\/
\item {\bfseries{Postcondition\+:}}
\begin{DoxyItemize}
\item The removed {\ttfamily Key}(s) MUST NOT be part of {\ttfamily Key\+Set} anymore. A lookup for that/those {\ttfamily Key}s MUST NOT return any results.
\end{DoxyItemize}
\item {\bfseries{Non-\/functional Constraints\+:}} -\/ 
\end{DoxyItemize}