\section{Elementary Prefs}
\label{group__Elm__Prefs}\index{Elementary Prefs@{Elementary Prefs}}


Elementary provides a prefs (for \char`\"{}preferences\char`\"{}) infrastructure, which consists of two sets of A\+P\+Is\+:  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef enum \hyperlink{group__Elm__Prefs_ga1cc357f952ededa3d8743bb9bedc2549}{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type} \hyperlink{group__Elm__Prefs_ga1b10884ca8cd0b3626f437aad775e2f5}{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}
\begin{DoxyCompactList}\small\item\em Elm Prefs item types. \end{DoxyCompactList}\item 
typedef struct \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Data \hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data}
\begin{DoxyCompactList}\small\item\em An Elm Prefs Data handle. \end{DoxyCompactList}\item 
typedef struct \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed \hyperlink{group__Elm__Prefs_gac195106489391e7d3d46d4b81636539e}{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed}
\begin{DoxyCompactList}\small\item\em An Elm Prefs \hyperlink{group__Elm__Prefs_ggaed08ad6911d81c2bfb37200d2fada377a2d063dae5719dca11f5f458042e2bfca}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D} event info data blob. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__Elm__Prefs_ga1cc357f952ededa3d8743bb9bedc2549}{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type} \{ , \\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a07b1f0d5b50d3781183c0c103ae7acab}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+O\+L}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549ad23bb8b0c88eded9dacbf4dc05f6de25}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a77c2dd8eea761daf46746ec242b482e5}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+A\+T}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a3ccecbd12d4cade7240bf652b138f886}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+A\+B\+E\+L}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549afb2780bf92c67498d5cdb3cd043d5ed3}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+A\+T\+E}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a801e093061e4015ebb268c3966642cc7}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549ae60e813e630393efdb1264bd2c6f6064}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+A\+R\+E\+A}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549af2737ebd1cdc0152aea2fc5c977cb778}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+A\+G\+E}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a88c65a578f1bee5a1daf952b32db32ed}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+S\+E\+T}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549aed45e66469b4d9176edaac3c2d6693f9}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+A\+V\+E}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549acbef5c7a2fbdb5e7243e58856238efcb}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R}, 
\\*
\hyperlink{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a366003fb4c850653b296769b9de04e31}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+W\+A\+L\+L\+O\+W}
 \}
\begin{DoxyCompactList}\small\item\em Elm Prefs item types. \end{DoxyCompactList}\item 
enum \hyperlink{group__Elm__Prefs_gaed08ad6911d81c2bfb37200d2fada377}{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type} \{ , \\*
\hyperlink{group__Elm__Prefs_ggaed08ad6911d81c2bfb37200d2fada377a2d063dae5719dca11f5f458042e2bfca}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D}, 
\\*
\hyperlink{group__Elm__Prefs_ggaed08ad6911d81c2bfb37200d2fada377a99414132275037683257dc257407f72c}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+A\+S\+T}
 \}
\begin{DoxyCompactList}\small\item\em Types of events a given prefs data handle may issue. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$ \hyperlink{group__Elm__Prefs_ga58895cf0ae0fd70db018fbe8eb7ba5c2}{elm\+\_\+prefs\+\_\+data\+\_\+new} (const char $\ast$data\+\_\+file, const char $\ast$key, Eet\+\_\+\+File\+\_\+\+Mode mode)
\begin{DoxyCompactList}\small\item\em Create a new prefs data handle. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Elm__Prefs_gab0c465a39f83015f99e4cca9c66b39f2}{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data, unsigned int version)
\begin{DoxyCompactList}\small\item\em Set the version field of a given prefs data handle. \end{DoxyCompactList}\item 
unsigned int \hyperlink{group__Elm__Prefs_ga079fe90ed78105ae55ddf41502635e95}{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data)
\begin{DoxyCompactList}\small\item\em Get the version field of a given prefs data handle. \end{DoxyCompactList}\item 
\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$ \hyperlink{group__Elm__Prefs_gae3ce2f210698699a376d3fd6a9c3d327}{elm\+\_\+prefs\+\_\+data\+\_\+ref} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data)
\begin{DoxyCompactList}\small\item\em Increment reference count on a given prefs data handle. \end{DoxyCompactList}\item 
void \hyperlink{group__Elm__Prefs_ga6a6905e5914a263a4e0195bae6c0b37d}{elm\+\_\+prefs\+\_\+data\+\_\+unref} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data)
\begin{DoxyCompactList}\small\item\em Decrement reference count on a given prefs data handle. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Elm__Prefs_gaae2c2d085d8c0e9d6c24ff580807a54e}{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data, const char $\ast$path, const \hyperlink{group__Elm__Prefs_ga1b10884ca8cd0b3626f437aad775e2f5}{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type} type, const Eina\+\_\+\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Set (or delete) one value of a given prefs data handle. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Elm__Prefs_ga2b692083e7d307512858f1adc2563519}{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get} (const \hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data, const char $\ast$path, \hyperlink{group__Elm__Prefs_ga1b10884ca8cd0b3626f437aad775e2f5}{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type} $\ast$type, Eina\+\_\+\+Value $\ast$value)
\begin{DoxyCompactList}\small\item\em Get one value of a given prefs data handle (by key). \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Elm__Prefs_ga2435876857d1a36d379e23040e389172}{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data, \hyperlink{group__Elm__Prefs_gaed08ad6911d81c2bfb37200d2fada377}{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type} type, Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Cb cb, const void $\ast$cb\+\_\+data)
\begin{DoxyCompactList}\small\item\em Register a callback for one of the prefs data events. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Elm__Prefs_gafeffd07fade957a5c92e217e4436de99}{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data, \hyperlink{group__Elm__Prefs_gaed08ad6911d81c2bfb37200d2fada377}{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type} type, Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Cb cb, const void $\ast$cb\+\_\+data)
\begin{DoxyCompactList}\small\item\em Unregister a callback for one of the prefs data events. \end{DoxyCompactList}\item 
void \hyperlink{group__Elm__Prefs_ga8f845185f5505ac07369e89c5d2abcad}{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set} (\hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data, Eina\+\_\+\+Bool autosave)
\begin{DoxyCompactList}\small\item\em Set whether a given elm prefs data handle should save its values back automatically on changes. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Elm__Prefs_ga92e6caef11911cc461959c545f7397d6}{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get} (const \hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data)
\begin{DoxyCompactList}\small\item\em Get whether a given elm prefs data handle is saving its values back automatically on changes. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Elm__Prefs_ga8e1e70c36f02027d6446c6188b9f954e}{elm\+\_\+prefs\+\_\+data\+\_\+save} (const \hyperlink{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}{Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$prefs\+\_\+data, const char $\ast$file, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Save, manually, a given elm prefs data handle data back, on the given file and key. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Elementary provides a prefs (for \char`\"{}preferences\char`\"{}) infrastructure, which consists of two sets of A\+P\+Is\+: 


\begin{DoxyItemize}
\item prefs data and
\item prefs view.
\end{DoxyItemize}\hypertarget{group__Elm__Prefs_elm-prefs-data}{}\subsection{Prefs Data}\label{group__Elm__Prefs_elm-prefs-data}
Prefs data are simple key/value storage handles. One is able to set/get their values, which are {\ttfamily Eina\+\_\+\+Value} blobs (i.\+e. dynamically typed). You may also control the version of this data set, for updating purposes. Finally, you may register callbacks on changes on these data.

The main user of prefs data is the prefs {\bfseries widget}. After its creation, it\textquotesingle{}s bound to a given prefs data handle (if not, if gets its values from its definition file, which may have defaults). An elm prefs widget has its visuals defined by an {\ttfamily }.epb file, which is a compiled form of a {\ttfamily }.edc counterpart -- a textual definition much like Edje {\ttfamily }.edc files. On these files, one defines the values (items) a prefs widget hold, which translate to other Elementary widgets. In other words, it does the mapping between U\+I widgets into prefs data values, and it keeps the synchrony between its child widgets\textquotesingle{} states and their corresponding prefs data values. 

\subsection{Typedef Documentation}
\index{Elementary Prefs@{Elementary Prefs}!Elm\+\_\+\+Prefs\+\_\+\+Data@{Elm\+\_\+\+Prefs\+\_\+\+Data}}
\index{Elm\+\_\+\+Prefs\+\_\+\+Data@{Elm\+\_\+\+Prefs\+\_\+\+Data}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{Elm\+\_\+\+Prefs\+\_\+\+Data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Elm\+\_\+\+Prefs\+\_\+\+Data}}\label{group__Elm__Prefs_ga7e2cbea5a9696262669748533f578a53}


An Elm Prefs Data handle. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed@{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed}}
\index{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed@{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed}}\label{group__Elm__Prefs_gac195106489391e7d3d46d4b81636539e}


An Elm Prefs \hyperlink{group__Elm__Prefs_ggaed08ad6911d81c2bfb37200d2fada377a2d063dae5719dca11f5f458042e2bfca}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D} event info data blob. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type@{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}}
\index{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type@{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}  {\bf Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}}\label{group__Elm__Prefs_ga1b10884ca8cd0b3626f437aad775e2f5}


Elm Prefs item types. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


\subsection{Enumeration Type Documentation}
\index{Elementary Prefs@{Elementary Prefs}!\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type@{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}}
\index{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type@{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}}\label{group__Elm__Prefs_ga1cc357f952ededa3d8743bb9bedc2549}


Elm Prefs item types. 

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+O\+L@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+O\+L}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+O\+L@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+O\+L}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+O\+L\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a07b1f0d5b50d3781183c0c103ae7acab}
}]boolean type, bound to checkbox-\/like U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549ad23bb8b0c88eded9dacbf4dc05f6de25}
}]integer type, bound to spinner-\/like U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+A\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+A\+T}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+A\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+A\+T}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+A\+T\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a77c2dd8eea761daf46746ec242b482e5}
}]floating point type, bound to spinner-\/like U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+A\+B\+E\+L@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+A\+B\+E\+L}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+A\+B\+E\+L@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+A\+B\+E\+L}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+A\+B\+E\+L\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a3ccecbd12d4cade7240bf652b138f886}
}]label type, bound to read-\/only, label U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+A\+T\+E@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+A\+T\+E}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+A\+T\+E@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+A\+T\+E}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+A\+T\+E\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549afb2780bf92c67498d5cdb3cd043d5ed3}
}]date type, bound to date selection U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a801e093061e4015ebb268c3966642cc7}
}]text type, bound to single-\/line, text entry U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+A\+R\+E\+A@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+A\+R\+E\+A}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+A\+R\+E\+A@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+A\+R\+E\+A}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+E\+X\+T\+A\+R\+E\+A\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549ae60e813e630393efdb1264bd2c6f6064}
}]text area type, bound to multi-\/line, text entry U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+A\+G\+E@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+A\+G\+E}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+A\+G\+E@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+A\+G\+E}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+P\+A\+G\+E\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549af2737ebd1cdc0152aea2fc5c977cb778}
}]page type, used to nest pages \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+S\+E\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+S\+E\+T}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+S\+E\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+S\+E\+T}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+S\+E\+T\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a88c65a578f1bee5a1daf952b32db32ed}
}]values resetting trigger type, bound to button-\/like U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+A\+V\+E@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+A\+V\+E}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+A\+V\+E@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+A\+V\+E}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+A\+V\+E\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549aed45e66469b4d9176edaac3c2d6693f9}
}]saving trigger type, bound to button-\/like U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549acbef5c7a2fbdb5e7243e58856238efcb}
}]separator type, bound to separator-\/like U\+I elements \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+W\+A\+L\+L\+O\+W@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+W\+A\+L\+L\+O\+W}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+W\+A\+L\+L\+O\+W@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+W\+A\+L\+L\+O\+W}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+W\+A\+L\+L\+O\+W\label{group__Elm__Prefs_gga1cc357f952ededa3d8743bb9bedc2549a366003fb4c850653b296769b9de04e31}
}]swallow type, bound to an empty \textquotesingle{}spot\textquotesingle{} on the U\+I meant to receive and display external content \end{description}
\end{Desc}
\index{Elementary Prefs@{Elementary Prefs}!Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type@{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type}}
\index{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type@{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type}}\label{group__Elm__Prefs_gaed08ad6911d81c2bfb37200d2fada377}


Types of events a given prefs data handle may issue. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_ga2435876857d1a36d379e23040e389172}{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D\label{group__Elm__Prefs_ggaed08ad6911d81c2bfb37200d2fada377a2d063dae5719dca11f5f458042e2bfca}
}]The group of values has been automatically saved (event info is the group\textquotesingle{}s name (key)) \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+A\+S\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+A\+S\+T}!Elementary Prefs@{Elementary Prefs}}\index{Elementary Prefs@{Elementary Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+A\+S\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+A\+S\+T}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+A\+S\+T\label{group__Elm__Prefs_ggaed08ad6911d81c2bfb37200d2fada377a99414132275037683257dc257407f72c}
}]A given item (prefs data value) has been changed (event info is an \hyperlink{group__Elm__Prefs_gac195106489391e7d3d46d4b81636539e}{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Changed} pointer) sentinel value, don\textquotesingle{}t use it \end{description}
\end{Desc}


\subsection{Function Documentation}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get@{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get@{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga92e6caef11911cc461959c545f7397d6}


Get whether a given elm prefs data handle is saving its values back automatically on changes. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if {\itshape prefs\+\_\+data} is saving automatically, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_ga8f845185f5505ac07369e89c5d2abcad}{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set@{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set@{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data, }
\item[{Eina\+\_\+\+Bool}]{autosave}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga8f845185f5505ac07369e89c5d2abcad}


Set whether a given elm prefs data handle should save its values back automatically on changes. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
{\em autosave} & {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} to save automatically, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.\\
\hline
\end{DoxyParams}
If {\itshape autosave} is {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, every call to \hyperlink{group__Elm__Prefs_gaae2c2d085d8c0e9d6c24ff580807a54e}{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set()} will implicitly issue \hyperlink{group__Elm__Prefs_ga8e1e70c36f02027d6446c6188b9f954e}{elm\+\_\+prefs\+\_\+data\+\_\+save()} too.

\begin{DoxyWarning}{Warning}
This call will do nothing if {\itshape prefs\+\_\+data} was created with mode E\+E\+T\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+D\+E\+\_\+\+R\+E\+A\+D -- auto saving will be always disabled in this mode, as it can\textquotesingle{}t write back.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_ga92e6caef11911cc461959c545f7397d6}{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+get()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add@{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add@{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data, }
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type}}]{type, }
\item[{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Cb}]{cb, }
\item[{const void $\ast$}]{cb\+\_\+data}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga2435876857d1a36d379e23040e389172}


Register a callback for one of the prefs data events. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
{\em type} & The type of event to register to \\
\hline
{\em cb} & The callback function to issue on this event \\
\hline
{\em cb\+\_\+data} & The data pointer to pass to {\itshape cb} on this event \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_gaed08ad6911d81c2bfb37200d2fada377}{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type} for more details on the events. 

\hyperlink{group__Elm__Prefs_gafeffd07fade957a5c92e217e4436de99}{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+A\+S\+T.

\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del@{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del@{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data, }
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type}}]{type, }
\item[{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Cb}]{cb, }
\item[{const void $\ast$}]{cb\+\_\+data}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_gafeffd07fade957a5c92e217e4436de99}


Unregister a callback for one of the prefs data events. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
{\em type} & The type of event to unregister \\
\hline
{\em cb} & The callback function being used to this event \\
\hline
{\em cb\+\_\+data} & The data pointer being passed to {\itshape cb} on this event \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_gaed08ad6911d81c2bfb37200d2fada377}{Elm\+\_\+\+Prefs\+\_\+\+Data\+\_\+\+Event\+\_\+\+Type} for more details on the events. 

\hyperlink{group__Elm__Prefs_ga2435876857d1a36d379e23040e389172}{elm\+\_\+prefs\+\_\+data\+\_\+event\+\_\+callback\+\_\+add()}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
If a same event callback (with matching type, callback function and data pointers) was added more than once on {\itshape prefs\+\_\+data}, them same number of matching calls of this type have to issued to delete all them.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+new@{elm\+\_\+prefs\+\_\+data\+\_\+new}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+new@{elm\+\_\+prefs\+\_\+data\+\_\+new}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Elm\+\_\+\+Prefs\+\_\+\+Data}$\ast$ elm\+\_\+prefs\+\_\+data\+\_\+new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{data\+\_\+file, }
\item[{const char $\ast$}]{key, }
\item[{Eet\+\_\+\+File\+\_\+\+Mode}]{mode}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga58895cf0ae0fd70db018fbe8eb7ba5c2}


Create a new prefs data handle. 


\begin{DoxyParams}{Parameters}
{\em data\+\_\+file} & The (user) file where to read data from \\
\hline
{\em key} & The key where the data is stored under \\
\hline
{\em mode} & The mode of access to the given file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new prefs data handle
\end{DoxyReturn}
If {\itshape data\+\_\+file} is {\ttfamily N\+U\+L\+L}, efreet\+\_\+config\+\_\+home\+\_\+get()/$<$appname$>$/preferences.cfg will be used, by default. If {\itshape key} is {\ttfamily N\+U\+L\+L}, it is considered a default key -- \char`\"{}main\char`\"{}.

If {\itshape mode} is {\ttfamily E\+E\+T\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+D\+E\+\_\+\+R\+E\+A\+D}, autosave will be always false for this elm\+\_\+prefs\+\_\+data handle. If {\itshape mode} is {\ttfamily E\+E\+T\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+D\+E\+\_\+\+W\+R\+I\+T\+E}, than {\itshape data\+\_\+file} {\bfseries won\textquotesingle{}t} be read, but just written to.

\begin{DoxyNote}{Note}
An elm prefs data handle starts with a reference count of {\bfseries 1} (see \hyperlink{group__Elm__Prefs_gae3ce2f210698699a376d3fd6a9c3d327}{elm\+\_\+prefs\+\_\+data\+\_\+ref()}). Use \hyperlink{group__Elm__Prefs_ga6a6905e5914a263a4e0195bae6c0b37d}{elm\+\_\+prefs\+\_\+data\+\_\+unref()} to delete it.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+ref@{elm\+\_\+prefs\+\_\+data\+\_\+ref}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+ref@{elm\+\_\+prefs\+\_\+data\+\_\+ref}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+ref}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Elm\+\_\+\+Prefs\+\_\+\+Data}$\ast$ elm\+\_\+prefs\+\_\+data\+\_\+ref (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_gae3ce2f210698699a376d3fd6a9c3d327}


Increment reference count on a given prefs data handle. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The same prefs data handle, {\itshape prefs\+\_\+data} 
\end{DoxyReturn}
This increments the reference count of {\itshape by} 1. Use this to pass the handle safely to contexts other than the creation one, for example. Only when the reference count on a prefs data handle reaches {\bfseries 0} (see \hyperlink{group__Elm__Prefs_ga6a6905e5914a263a4e0195bae6c0b37d}{elm\+\_\+prefs\+\_\+data\+\_\+unref()}) will it be deleted.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+save@{elm\+\_\+prefs\+\_\+data\+\_\+save}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+save@{elm\+\_\+prefs\+\_\+data\+\_\+save}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+save}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+data\+\_\+save (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data, }
\item[{const char $\ast$}]{file, }
\item[{const char $\ast$}]{key}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga8e1e70c36f02027d6446c6188b9f954e}


Save, manually, a given elm prefs data handle data back, on the given file and key. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
{\em file} & The file (path) to save to ({\ttfamily N\+U\+L\+L} means same file as it was opened with) \\
\hline
{\em key} & The under which to save values ({\ttfamily N\+U\+L\+L} means the same key as it was opened with) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_ga8f845185f5505ac07369e89c5d2abcad}{elm\+\_\+prefs\+\_\+data\+\_\+autosave\+\_\+set()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+unref@{elm\+\_\+prefs\+\_\+data\+\_\+unref}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+unref@{elm\+\_\+prefs\+\_\+data\+\_\+unref}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+unref}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+prefs\+\_\+data\+\_\+unref (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga6a6905e5914a263a4e0195bae6c0b37d}


Decrement reference count on a given prefs data handle. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle\\
\hline
\end{DoxyParams}
This decrements the reference count of {\itshape by} 1. When the reference count on {\itshape reach} {\bfseries 0}, it will it be deleted.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_gae3ce2f210698699a376d3fd6a9c3d327}{elm\+\_\+prefs\+\_\+data\+\_\+ref()} for more details.
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get@{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get@{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data, }
\item[{const char $\ast$}]{path, }
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type} $\ast$}]{type, }
\item[{Eina\+\_\+\+Value $\ast$}]{value}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga2b692083e7d307512858f1adc2563519}


Get one value of a given prefs data handle (by key). 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
{\em path} & The (unique) name (key) of the given value \\
\hline
{\em type} & The item type associated with the value \\
\hline
{\em value} & A valid {\ttfamily Eina\+\_\+\+Value} handle, where to store the value, itself. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
This will retrieve one of {\itshape }\textquotesingle{}s values, by name. The value itself will be written to {\itshape value}, which will be overriden.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set@{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set@{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data, }
\item[{const char $\ast$}]{path, }
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Type}}]{type, }
\item[{const Eina\+\_\+\+Value $\ast$}]{value}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_gaae2c2d085d8c0e9d6c24ff580807a54e}


Set (or delete) one value of a given prefs data handle. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
{\em path} & The (unique) name (key) of the given value \\
\hline
{\em type} & The item type to which the value is to be associated \\
\hline
{\em value} & The value, itself. It must be a valid {\ttfamily Eina\+\_\+\+Value} handle, bound to a given type and value or {\ttfamily N\+U\+L\+L}. On the second case, the call will actually {\bfseries delete} the given key from {\itshape prefs\+\_\+data}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
A prefs data handle holds a list of key/value entries. This will set one of {\itshape }\textquotesingle{}s values, by name. The value itself may be any valid and filled up {\ttfamily Eina\+\_\+\+Value} handle.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+D\+A\+T\+A\+\_\+\+E\+V\+E\+N\+T\+\_\+\+I\+T\+E\+M\+\_\+\+C\+H\+A\+N\+G\+E\+D.

\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get@{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get@{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_ga079fe90ed78105ae55ddf41502635e95}


Get the version field of a given prefs data handle. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The version of {\itshape prefs\+\_\+data} or -\/1, on errors.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_gab0c465a39f83015f99e4cca9c66b39f2}{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Elementary Prefs@{Elementary Prefs}!elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set@{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set}}
\index{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set@{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set}!Elementary Prefs@{Elementary Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Prefs\+\_\+\+Data} $\ast$}]{prefs\+\_\+data, }
\item[{unsigned int}]{version}
\end{DoxyParamCaption}
)}\label{group__Elm__Prefs_gab0c465a39f83015f99e4cca9c66b39f2}


Set the version field of a given prefs data handle. 


\begin{DoxyParams}{Parameters}
{\em prefs\+\_\+data} & A valid prefs data handle \\
\hline
{\em version} & The version number \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Elm__Prefs_ga079fe90ed78105ae55ddf41502635e95}{elm\+\_\+prefs\+\_\+data\+\_\+version\+\_\+get()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
