\hypertarget{a07164}{}\section{I\+N\+I\+File Class Reference}
\label{a07164}\index{I\+N\+I\+File@{I\+N\+I\+File}}


Class for the handling of simple configuration files.  




{\ttfamily \#include $<$Open\+Flipper/\+I\+N\+I\+File/\+I\+N\+I\+File.\+hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07164_a278639bfc921feb2a20c0ced75d66dbc}\label{a07164_a278639bfc921feb2a20c0ced75d66dbc}} 
\hyperlink{a07164_a278639bfc921feb2a20c0ced75d66dbc}{I\+N\+I\+File} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_aa78854b355249d8b011e9de8026d19b2}\label{a07164_aa78854b355249d8b011e9de8026d19b2}} 
\hyperlink{a07164_aa78854b355249d8b011e9de8026d19b2}{$\sim$\+I\+N\+I\+File} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a48eb806e36ccd4c847265f69dad313d7}\label{a07164_a48eb806e36ccd4c847265f69dad313d7}} 
bool \hyperlink{a07164_a48eb806e36ccd4c847265f69dad313d7}{connect} (const Q\+String \&\hyperlink{a07164_a1789c3d3d41d8420405e3214a609126a}{name}, const bool create)
\begin{DoxyCompactList}\small\item\em Connect \hyperlink{a07164}{I\+N\+I\+File} object with given filename. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a7cea8921480878404645ab890eba0973}\label{a07164_a7cea8921480878404645ab890eba0973}} 
void \hyperlink{a07164_a7cea8921480878404645ab890eba0973}{disconnect} ()
\begin{DoxyCompactList}\small\item\em Remove connection of this object to a file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a27f09379bc3da114bcf2f7953ceafa30}\label{a07164_a27f09379bc3da114bcf2f7953ceafa30}} 
bool \hyperlink{a07164_a27f09379bc3da114bcf2f7953ceafa30}{is\+\_\+connected} () const
\begin{DoxyCompactList}\small\item\em Check if object is connected to file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a1789c3d3d41d8420405e3214a609126a}\label{a07164_a1789c3d3d41d8420405e3214a609126a}} 
const Q\+String \& \hyperlink{a07164_a1789c3d3d41d8420405e3214a609126a}{name} () const
\begin{DoxyCompactList}\small\item\em Access to name of connected file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Existence checking}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07164_a73485c97d37e77097130db9e60969b29}\label{a07164_a73485c97d37e77097130db9e60969b29}} 
bool \hyperlink{a07164_a73485c97d37e77097130db9e60969b29}{section\+\_\+exists} (const Q\+String \&\+\_\+section) const
\begin{DoxyCompactList}\small\item\em Check if given section exists in the current I\+NI file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a0dd4cec7de141bad2366d0645c309849}\label{a07164_a0dd4cec7de141bad2366d0645c309849}} 
bool \hyperlink{a07164_a0dd4cec7de141bad2366d0645c309849}{entry\+\_\+exists} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Check if given entry esists in the current I\+NI file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a8fc0d88444987d007fdd673f86fde21b}\label{a07164_a8fc0d88444987d007fdd673f86fde21b}} 
bool \hyperlink{a07164_a8fc0d88444987d007fdd673f86fde21b}{entry\+\_\+in\+\_\+section} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Same as \hyperlink{a07164_a0dd4cec7de141bad2366d0645c309849}{entry\+\_\+exists()} (for backward compatibility) \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Addition of entities}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07164_ab4c3d0fec0fc322ccd3366cbc7fe35db}\label{a07164_ab4c3d0fec0fc322ccd3366cbc7fe35db}} 
void \hyperlink{a07164_ab4c3d0fec0fc322ccd3366cbc7fe35db}{add\+\_\+section} (const Q\+String \&\+\_\+sectionname)
\begin{DoxyCompactList}\small\item\em Addition of a section. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ab3826958cf55d970330f57e65b65f9f2}\label{a07164_ab3826958cf55d970330f57e65b65f9f2}} 
void \hyperlink{a07164_ab3826958cf55d970330f57e65b65f9f2}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const Q\+String \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a string entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a65f9de13c0d843fdec2ac949caccc776}\label{a07164_a65f9de13c0d843fdec2ac949caccc776}} 
void \hyperlink{a07164_a65f9de13c0d843fdec2ac949caccc776}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const char $\ast$\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a string entry, given as char array. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a971a3f75bc38c7748b52f73cb9aed8f4}\label{a07164_a971a3f75bc38c7748b52f73cb9aed8f4}} 
void \hyperlink{a07164_a971a3f75bc38c7748b52f73cb9aed8f4}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const double \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a double entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_adcbb891299c43ad75f94c394af528808}\label{a07164_adcbb891299c43ad75f94c394af528808}} 
void \hyperlink{a07164_adcbb891299c43ad75f94c394af528808}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const float \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a double entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a6db961a5c6d40d16ed7d203e1f3ed95e}\label{a07164_a6db961a5c6d40d16ed7d203e1f3ed95e}} 
void \hyperlink{a07164_a6db961a5c6d40d16ed7d203e1f3ed95e}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const int \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of an int entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_aa6ddddea3638234879359d6f5d35e4b8}\label{a07164_aa6ddddea3638234879359d6f5d35e4b8}} 
void \hyperlink{a07164_aa6ddddea3638234879359d6f5d35e4b8}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const unsigned int \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of an int entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a70647829b3c1fa36b2b8abf533329e7e}\label{a07164_a70647829b3c1fa36b2b8abf533329e7e}} 
void \hyperlink{a07164_a70647829b3c1fa36b2b8abf533329e7e}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const bool \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a boolean entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a20c42d31135ea3bcbdcc4b7ddc59ecc1}\label{a07164_a20c42d31135ea3bcbdcc4b7ddc59ecc1}} 
void \hyperlink{a07164_a20c42d31135ea3bcbdcc4b7ddc59ecc1}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const std\+::vector$<$ float $>$ \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a float vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a51fadb6d8bd7bc12475efa36de8bb46c}\label{a07164_a51fadb6d8bd7bc12475efa36de8bb46c}} 
void \hyperlink{a07164_a51fadb6d8bd7bc12475efa36de8bb46c}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const std\+::vector$<$ double $>$ \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a double vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_aa6c8c78bc193cdd61b5e77bf688e0fca}\label{a07164_aa6c8c78bc193cdd61b5e77bf688e0fca}} 
void \hyperlink{a07164_aa6c8c78bc193cdd61b5e77bf688e0fca}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const std\+::vector$<$ bool $>$ \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of a bool vector. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename VectorT $>$ }\\void \hyperlink{a07164_a6b7e80b381c2dc7456a353971c2593a4}{add\+\_\+entry\+Vec} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const \hyperlink{a12072}{VectorT} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition of a Vec\+\_\+n\+\_\+something. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_aaff4e8417cc024096308a1495891b24d}\label{a07164_aaff4e8417cc024096308a1495891b24d}} 
{\footnotesize template$<$typename VectorT $>$ }\\void \hyperlink{a07164_aaff4e8417cc024096308a1495891b24d}{add\+\_\+entry\+Vec} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition of a vector of Vec\+\_\+n\+\_\+something. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a9b868b7f1a7db8f4774b327f71b4b67b}\label{a07164_a9b868b7f1a7db8f4774b327f71b4b67b}} 
void \hyperlink{a07164_a9b868b7f1a7db8f4774b327f71b4b67b}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const std\+::vector$<$ int $>$ \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of an int vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a7a421f5ecdf3d338bb1fc13b38c5c6f9}\label{a07164_a7a421f5ecdf3d338bb1fc13b38c5c6f9}} 
void \hyperlink{a07164_a7a421f5ecdf3d338bb1fc13b38c5c6f9}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const std\+::vector$<$ Q\+String $>$ \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of an int vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a787e3ed324bbb9951d4a8d9875dcc36e}\label{a07164_a787e3ed324bbb9951d4a8d9875dcc36e}} 
void \hyperlink{a07164_a787e3ed324bbb9951d4a8d9875dcc36e}{add\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key, const Q\+String\+List \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Addition / modification of an int vector. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Deletion of entities}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07164_aa0c373517e3108631860806770c65f10}\label{a07164_aa0c373517e3108631860806770c65f10}} 
void \hyperlink{a07164_aa0c373517e3108631860806770c65f10}{delete\+\_\+entry} (const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key)
\begin{DoxyCompactList}\small\item\em Deletion of an entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_af2b979dfbc0266dc59ea8939e1a7242c}\label{a07164_af2b979dfbc0266dc59ea8939e1a7242c}} 
void \hyperlink{a07164_af2b979dfbc0266dc59ea8939e1a7242c}{delete\+\_\+section} (const Q\+String \&\+\_\+sectionname)
\begin{DoxyCompactList}\small\item\em Deletion of an entire section. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Access to stored entries}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07164_a46208a933fd6b08fb1d39274813c71eb}\label{a07164_a46208a933fd6b08fb1d39274813c71eb}} 
typedef std\+::map$<$ Q\+String, Q\+String $>$ \hyperlink{a07164_a46208a933fd6b08fb1d39274813c71eb}{Entry\+Map}
\begin{DoxyCompactList}\small\item\em Type for map of contained entries. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a2ba609082fab70d0232fd17905e8389e}\label{a07164_a2ba609082fab70d0232fd17905e8389e}} 
typedef std\+::map$<$ Q\+String, \hyperlink{a07164_a46208a933fd6b08fb1d39274813c71eb}{Entry\+Map} $>$ \hyperlink{a07164_a2ba609082fab70d0232fd17905e8389e}{Section\+Map}
\begin{DoxyCompactList}\small\item\em Type for map of contained sections. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ae85c7ee649f6932f77436e0a070d2a8d}\label{a07164_ae85c7ee649f6932f77436e0a070d2a8d}} 
Q\+String \hyperlink{a07164_ae85c7ee649f6932f77436e0a070d2a8d}{m\+\_\+filename}
\begin{DoxyCompactList}\small\item\em Name of current I\+NI file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a8dbb5d020f9cbc1c58bab519f2fb1363}\label{a07164_a8dbb5d020f9cbc1c58bab519f2fb1363}} 
bool \hyperlink{a07164_a8dbb5d020f9cbc1c58bab519f2fb1363}{mf\+\_\+is\+Connected}
\begin{DoxyCompactList}\small\item\em Flag\+: this object is connected to an I\+NI file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ac6519b45be7fcd571d2e4e9e72584bcf}\label{a07164_ac6519b45be7fcd571d2e4e9e72584bcf}} 
\hyperlink{a07164_a2ba609082fab70d0232fd17905e8389e}{Section\+Map} \hyperlink{a07164_ac6519b45be7fcd571d2e4e9e72584bcf}{m\+\_\+ini\+Data}
\begin{DoxyCompactList}\small\item\em Stored data of an I\+NI file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a53395bcb28afe27a90e7dde1ca0a7df9}\label{a07164_a53395bcb28afe27a90e7dde1ca0a7df9}} 
bool \hyperlink{a07164_a53395bcb28afe27a90e7dde1ca0a7df9}{get\+\_\+entry} (Q\+String \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a string entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_adceca69d8427d7a8581fc11d28d8854a}\label{a07164_adceca69d8427d7a8581fc11d28d8854a}} 
bool \hyperlink{a07164_adceca69d8427d7a8581fc11d28d8854a}{get\+\_\+entry} (double \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a floating point entry, stored as double value. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ac3eb561ef993c78aca44fda1d1cacc9d}\label{a07164_ac3eb561ef993c78aca44fda1d1cacc9d}} 
bool \hyperlink{a07164_ac3eb561ef993c78aca44fda1d1cacc9d}{get\+\_\+entry} (float \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a floating point entry, stored as float value. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ae516131c6759d8f98bf7ef4f7d90223d}\label{a07164_ae516131c6759d8f98bf7ef4f7d90223d}} 
bool \hyperlink{a07164_ae516131c6759d8f98bf7ef4f7d90223d}{get\+\_\+entry} (int \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to an int entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a65aafe5cde5e9d0c6a672eec969f6c19}\label{a07164_a65aafe5cde5e9d0c6a672eec969f6c19}} 
bool \hyperlink{a07164_a65aafe5cde5e9d0c6a672eec969f6c19}{get\+\_\+entry} (unsigned int \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to an unsigned int entry (which is actually stored as int!!!) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a354fae02dbe3da8e2b1d789532d32b0c}\label{a07164_a354fae02dbe3da8e2b1d789532d32b0c}} 
bool \hyperlink{a07164_a354fae02dbe3da8e2b1d789532d32b0c}{get\+\_\+entry} (bool \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a boolean entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ab823e652ac3540b833000452a5efedf4}\label{a07164_ab823e652ac3540b833000452a5efedf4}} 
bool \hyperlink{a07164_ab823e652ac3540b833000452a5efedf4}{get\+\_\+entry} (std\+::vector$<$ float $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a float vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a7113683f0317a99d15f1e54b94ac8467}\label{a07164_a7113683f0317a99d15f1e54b94ac8467}} 
bool \hyperlink{a07164_a7113683f0317a99d15f1e54b94ac8467}{get\+\_\+entry} (std\+::vector$<$ double $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a double vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ab786daa79c0365a0b1a6ef85d58f0fcc}\label{a07164_ab786daa79c0365a0b1a6ef85d58f0fcc}} 
bool \hyperlink{a07164_ab786daa79c0365a0b1a6ef85d58f0fcc}{get\+\_\+entry} (std\+::vector$<$ bool $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a bool vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a48e5c65a8d5bdbf5bba443a0f80103c0}\label{a07164_a48e5c65a8d5bdbf5bba443a0f80103c0}} 
bool \hyperlink{a07164_a48e5c65a8d5bdbf5bba443a0f80103c0}{get\+\_\+entry} (std\+::vector$<$ int $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to an int vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a14e5a68211ce4412577f1d0a13c36d49}\label{a07164_a14e5a68211ce4412577f1d0a13c36d49}} 
bool \hyperlink{a07164_a14e5a68211ce4412577f1d0a13c36d49}{get\+\_\+entry} (std\+::vector$<$ Q\+String $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a string vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a2f17fe20cf9b0379fa0e11eaf4a13c22}\label{a07164_a2f17fe20cf9b0379fa0e11eaf4a13c22}} 
bool \hyperlink{a07164_a2f17fe20cf9b0379fa0e11eaf4a13c22}{get\+\_\+entry} (Q\+String\+List \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Access to a string\+List. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename VectorT $>$ }\\bool \hyperlink{a07164_a28af83d45dbdf2ab779d84b93053f39b}{get\+\_\+entry\+Vecd} (\hyperlink{a12072}{VectorT} \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Get a Vec\+\_\+n\+\_\+d (double) \end{DoxyCompactList}\item 
{\footnotesize template$<$typename VectorT $>$ }\\bool \hyperlink{a07164_a2d1e5d5c68982abeadf3cf58b891f7b4}{get\+\_\+entry\+Vecf} (\hyperlink{a12072}{VectorT} \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Get a Vec\+\_\+n\+\_\+i (int) \end{DoxyCompactList}\item 
{\footnotesize template$<$typename VectorT $>$ }\\bool \hyperlink{a07164_a18f2f39a2381b5ae0214b9ccef7a947f}{get\+\_\+entry\+Veci} (\hyperlink{a12072}{VectorT} \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Get a Vec\+\_\+n\+\_\+i (int) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_aef5cb42c86893ffc661abc616f38dfcb}\label{a07164_aef5cb42c86893ffc661abc616f38dfcb}} 
{\footnotesize template$<$typename VectorT $>$ }\\bool \hyperlink{a07164_aef5cb42c86893ffc661abc616f38dfcb}{get\+\_\+entry\+Vecd} (std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Get a Vec\+\_\+n\+\_\+d. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a3c58697b2b1a3698e6fb5aafe75ef2ec}\label{a07164_a3c58697b2b1a3698e6fb5aafe75ef2ec}} 
{\footnotesize template$<$typename VectorT $>$ }\\bool \hyperlink{a07164_a3c58697b2b1a3698e6fb5aafe75ef2ec}{get\+\_\+entry\+Vecf} (std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Get a Vec\+\_\+n\+\_\+f. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ae31ccc913ef2c40d62a60dfaf02903e8}\label{a07164_ae31ccc913ef2c40d62a60dfaf02903e8}} 
{\footnotesize template$<$typename VectorT $>$ }\\bool \hyperlink{a07164_ae31ccc913ef2c40d62a60dfaf02903e8}{get\+\_\+entry\+Veci} (std\+::vector$<$ \hyperlink{a12072}{VectorT} $>$ \&\+\_\+val, const Q\+String \&\+\_\+section, const Q\+String \&\+\_\+key) const
\begin{DoxyCompactList}\small\item\em Get a Vec\+\_\+n\+\_\+i. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_ae68ffbd65e630a75534aa204d56d8130}\label{a07164_ae68ffbd65e630a75534aa204d56d8130}} 
bool \hyperlink{a07164_ae68ffbd65e630a75534aa204d56d8130}{parse\+File} (Q\+File \&\+\_\+input\+Stream)
\begin{DoxyCompactList}\small\item\em Read content of an I\+NI file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07164_a2d83bd8abb62033fdac574845efcdf89}\label{a07164_a2d83bd8abb62033fdac574845efcdf89}} 
bool \hyperlink{a07164_a2d83bd8abb62033fdac574845efcdf89}{write\+File} (void)
\begin{DoxyCompactList}\small\item\em Write data to file we are currently connected to. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class for the handling of simple configuration files. 

The file format used by this class is similar to that of MS Windows I\+NI files. It is possible to divide a file into sections which are denoted by brackets (e.\+g. {\ttfamily \mbox{[}Section\mbox{]}}). All values are stored in the form {\ttfamily $<$key$>$ = $<$value$>$} and are assigned to a section. The \hyperlink{a07164}{I\+N\+I\+File} class is able to store values of the types string, double, signed and unsigned int and bool.

The usual way to work with this class consists of the following steps\+:


\begin{DoxyItemize}
\item Open an existing or create a new I\+NI file with a call to \hyperlink{a07164_a48eb806e36ccd4c847265f69dad313d7}{connect()}
\item Check for the existence of entries (\hyperlink{a07164_a0dd4cec7de141bad2366d0645c309849}{entry\+\_\+exists()}), access stored values (\hyperlink{a07164_a53395bcb28afe27a90e7dde1ca0a7df9}{get\+\_\+entry()}) or add new entries (\hyperlink{a07164_ab3826958cf55d970330f57e65b65f9f2}{add\+\_\+entry()}). Note that the function \hyperlink{a07164_ab4c3d0fec0fc322ccd3366cbc7fe35db}{add\+\_\+section()} is obsolete and only kept for backward compatibility. A new section is now implicitly generated by specifying it in a call to \hyperlink{a07164_ab3826958cf55d970330f57e65b65f9f2}{add\+\_\+entry()}.
\item \hyperlink{a07164_a7cea8921480878404645ab890eba0973}{disconnect()} from the I\+NI file. Only now are all entries and sections written to the file.
\end{DoxyItemize}

To be able to use the \hyperlink{a07164}{I\+N\+I\+File} class, an object is created. After that the object is connected to a given filename. This means that, if the file exists, it is opened and the content is parsed and stored in memory. The second (boolean) parameter to the \hyperlink{a07164_a48eb806e36ccd4c847265f69dad313d7}{connect()} function indicates that the file should be created if it does not exists. 
\begin{DoxyCodeInclude}

\end{DoxyCodeInclude}


Now a new section named {\ttfamily Main} is generated and several entries are added. Note that the I\+NI file is not written to disc until the \hyperlink{a07164_a7cea8921480878404645ab890eba0973}{disconnect()} function is called. All additions and modifications are only performed on the stored data in memory. 
\begin{DoxyCodeInclude}

\end{DoxyCodeInclude}


In the second part of this example the just created I\+NI file is opened (connected) again and the created entries are read and printed to {\ttfamily stdout}. 
\begin{DoxyCodeInclude}

\end{DoxyCodeInclude}
 

Definition at line 99 of file I\+N\+I\+File.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a07164_a6b7e80b381c2dc7456a353971c2593a4}\label{a07164_a6b7e80b381c2dc7456a353971c2593a4}} 
\index{I\+N\+I\+File@{I\+N\+I\+File}!add\+\_\+entry\+Vec@{add\+\_\+entry\+Vec}}
\index{add\+\_\+entry\+Vec@{add\+\_\+entry\+Vec}!I\+N\+I\+File@{I\+N\+I\+File}}
\subsubsection{\texorpdfstring{add\+\_\+entry\+Vec()}{add\_entryVec()}}
{\footnotesize\ttfamily template$<$typename VectorT $>$ \\
void I\+N\+I\+File\+::add\+\_\+entry\+Vec (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{\+\_\+section,  }\item[{const Q\+String \&}]{\+\_\+key,  }\item[{const \hyperlink{a12072}{VectorT} \&}]{\+\_\+value }\end{DoxyParamCaption})}



Addition of a Vec\+\_\+n\+\_\+something. 

Addition of a vector of Vec\+\_\+n\+\_\+whatever. 

Definition at line 205 of file I\+N\+I\+File\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a07164_a28af83d45dbdf2ab779d84b93053f39b}\label{a07164_a28af83d45dbdf2ab779d84b93053f39b}} 
\index{I\+N\+I\+File@{I\+N\+I\+File}!get\+\_\+entry\+Vecd@{get\+\_\+entry\+Vecd}}
\index{get\+\_\+entry\+Vecd@{get\+\_\+entry\+Vecd}!I\+N\+I\+File@{I\+N\+I\+File}}
\subsubsection{\texorpdfstring{get\+\_\+entry\+Vecd()}{get\_entryVecd()}}
{\footnotesize\ttfamily template$<$typename VectorT $>$ \\
bool I\+N\+I\+File\+::get\+\_\+entry\+Vecd (\begin{DoxyParamCaption}\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+val,  }\item[{const Q\+String \&}]{\+\_\+section,  }\item[{const Q\+String \&}]{\+\_\+key }\end{DoxyParamCaption}) const}



Get a Vec\+\_\+n\+\_\+d (double) 

Get a Vec\+\_\+n\+\_\+d. 

Definition at line 121 of file I\+N\+I\+File\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a07164_a2d1e5d5c68982abeadf3cf58b891f7b4}\label{a07164_a2d1e5d5c68982abeadf3cf58b891f7b4}} 
\index{I\+N\+I\+File@{I\+N\+I\+File}!get\+\_\+entry\+Vecf@{get\+\_\+entry\+Vecf}}
\index{get\+\_\+entry\+Vecf@{get\+\_\+entry\+Vecf}!I\+N\+I\+File@{I\+N\+I\+File}}
\subsubsection{\texorpdfstring{get\+\_\+entry\+Vecf()}{get\_entryVecf()}}
{\footnotesize\ttfamily template$<$typename VectorT $>$ \\
bool I\+N\+I\+File\+::get\+\_\+entry\+Vecf (\begin{DoxyParamCaption}\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+val,  }\item[{const Q\+String \&}]{\+\_\+section,  }\item[{const Q\+String \&}]{\+\_\+key }\end{DoxyParamCaption}) const}



Get a Vec\+\_\+n\+\_\+i (int) 

Get a Vec\+\_\+n\+\_\+f. 

Definition at line 163 of file I\+N\+I\+File\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a07164_a18f2f39a2381b5ae0214b9ccef7a947f}\label{a07164_a18f2f39a2381b5ae0214b9ccef7a947f}} 
\index{I\+N\+I\+File@{I\+N\+I\+File}!get\+\_\+entry\+Veci@{get\+\_\+entry\+Veci}}
\index{get\+\_\+entry\+Veci@{get\+\_\+entry\+Veci}!I\+N\+I\+File@{I\+N\+I\+File}}
\subsubsection{\texorpdfstring{get\+\_\+entry\+Veci()}{get\_entryVeci()}}
{\footnotesize\ttfamily template$<$typename VectorT $>$ \\
bool I\+N\+I\+File\+::get\+\_\+entry\+Veci (\begin{DoxyParamCaption}\item[{\hyperlink{a12072}{VectorT} \&}]{\+\_\+val,  }\item[{const Q\+String \&}]{\+\_\+section,  }\item[{const Q\+String \&}]{\+\_\+key }\end{DoxyParamCaption}) const}



Get a Vec\+\_\+n\+\_\+i (int) 

Get a Vec\+\_\+n\+\_\+i. 

Definition at line 79 of file I\+N\+I\+File\+T\+\_\+impl.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/\+I\+N\+I\+File/I\+N\+I\+File.\+hh\item 
Open\+Flipper/\+I\+N\+I\+File/I\+N\+I\+File.\+cc\item 
Open\+Flipper/\+I\+N\+I\+File/I\+N\+I\+File\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
