]> vaikene.ee Git - evaf/blobdiff - src/libs/Common/util.h
Added global utility functions.
[evaf] / src / libs / Common / util.h
diff --git a/src/libs/Common/util.h b/src/libs/Common/util.h
new file mode 100644 (file)
index 0000000..799f8aa
--- /dev/null
@@ -0,0 +1,74 @@
+/**
+ * @file Common/util.h
+ * @brief Global utility functions for eVaf
+ * @author Enar Vaikene
+ *
+ * Copyright (c) 2011 Enar Vaikene
+ *
+ * This file is part of the eVaf C++ cross-platform application development framework.
+ *
+ * This file can be used under the terms of the GNU General Public License
+ * version 3.0 as published by the Free Software Foundation and appearing in
+ * the file LICENSE included in the packaging of this file. Please review the
+ * the following information to ensure the GNU General Public License version
+ * 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+ *
+ * Alternatively, this file may be used in accordance with the Commercial License
+ * Agreement provided with the Software.
+ */
+
+#ifndef __COMMON_UTIL_H
+#  define __COMMON_UTIL_H
+
+#include "libcommon.h"
+
+#include <QString>
+#include <QVariant>
+
+namespace eVaf {
+namespace Common {
+
+/**
+ * Tests if the string means 'true'
+ * @param str The string
+ * @return True if the string is 'yes', 'true', 'on' or '1'.
+ *
+ * This function tests if the string means 'true'. Use this function when the default value
+ * should be 'false'.
+ */
+inline bool isTrue(QString const & str)
+{
+    return str == "1" || str.toLower() == "yes" || str.toLower() == "true" || str.toLower() == "on";
+}
+
+/**
+ * Tests if the string means 'false'
+ * @param str The string
+ * @return True if the string is 'no', 'false', 'off' or '0'.
+ *
+ * This function tests if the string means 'false'. Use this function when the default value
+ * should be 'true'.
+ */
+inline bool isFalse(QString const & str)
+{
+    return str == "0" || str.toLower() == "no" || str.toLower() == "false" || str.toLower() == "off";
+}
+
+/**
+ * Converts strings to variant values
+ * @param value The string
+ * @param defaultValue The default value
+ * @param Variant value converted from the string or the default if failed
+ *
+ * This function converts strings to variant values. The type of the expected value is determined
+ * from the default value. If the string fails to convert to the expected type, returns the
+ * default value.
+ */
+
+COMMON_EXPORT QVariant toVariant(QString const & value, QVariant const & defaultValue);
+
+
+} // namespace eVaf::Common
+} // namespace eVaf
+
+#endif // util.h