]> vaikene.ee Git - evaf/blobdiff - src/libs/Common/inifile.h
More work with the IniFile class:
[evaf] / src / libs / Common / inifile.h
index 59f6fa0b1ff10fea94cace947395669be72e217c..705bd9bc20795315745fef623bed1fada65005cf 100644 (file)
 
 #include "libcommon.h"
 
+#include <QString>
+#include <QVariant>
+#include <QIODevice>
+
 namespace eVaf {
 namespace Common {
 namespace Internal {
@@ -31,12 +35,25 @@ namespace Internal {
 /**
  * Class for reading and writing parameter values in INI files.
  *
- * The IniFile class provides access to parameter values in a standard INI file. Every parameter value is
- * identified by a section/key name pair. Key names can be prefixed with 'windows:' or 'linux:' if the
- * parameter value is specific for the given platform. This allows entering platform-specific parameter
- * values to the INI file. INI files can contain comment lines that start with ';' or '#'. Comments are
+ * The IniFile class provides access to parameter values in a standard INI file.
+ * Every parameter value is identified by a section/key name pair. Key names can be prefixed with
+ * 'windows:' or 'linux:' if the parameter value is specific for the given platform.
+ * This allows entering platform-specific parameter values to the INI file.
+ *
+ * INI files can contain comment lines that start with ';' or '#'. Comments are
  * preserved when new values are written to the INI file.
  *
+ * This is a sample INI file:
+ * @code
+ * [main]
+ * # The full name of this parameter is 'main/name'
+ * name = MyApplication
+ *
+ * [extensions/about]
+ * # The full name of this parameter is 'extensions/about/module'
+ * module = libabout.so
+ * @endcode
+ *
  * Values in INI files are stored as strings and the IniFile class expects them to use specific formats if
  * the returned value is supposed to be of a different data type. The following list shows the expected format
  * of different data types:
@@ -71,11 +88,6 @@ public:
      * The isValid() method returns true if the INI file is can be used. Use this
      * method after creating the object to verify that opening the INI file in the specified
      * mode succeeded.
-     *
-     * If the object is not valid, then:
-     * @li Writing to the INI file always fails; the internal cache is still updated and reading the parameter returns
-     * the new value;
-     * @li Reading from the INI file returns the cached value or the default value if no values with this name are written.
      */
     bool isValid() const;
 
@@ -119,9 +131,6 @@ public:
      *
      * The method returns true if the parameter value was written into the INI file and false if not. Use the errorString() method
      * to get a human-readable error string if writing to the INI file fails.
-     *
-     * Writing to an invalid INI file always fails, but the value is still stored into the internal cache. Readin the same parameter
-     * value returns the new value even if it was actually not stored into the INI file.
      */
     bool setValue(QString const & paramName, QVariant const & value);
 
@@ -136,4 +145,4 @@ private:
 } // namespace eVaf::Common
 } // namespace eVaf
 
-#endif // INIFILE_H
+#endif // inifile.h