]> vaikene.ee Git - evaf/blobdiff - src/libs/Common/globals.cpp
Mac OS changes and switched to c++11.
[evaf] / src / libs / Common / globals.cpp
index 63d4bce2bd6c3a988c333459d3e42220fb56957d..6814648532b70058db4362d241713e14a629c8a7 100644 (file)
@@ -3,7 +3,7 @@
  * @brief Global constants and macros for eVaf
  * @author Enar Vaikene
  *
- * Copyright (c) 2011 Enar Vaikene
+ * Copyright (c) 2011-2019 Enar Vaikene
  *
  * This file is part of the eVaf C++ cross-platform application development framework.
  *
 
 #include "globals.h"
 #include "app.h"
+#include "config.h"
+#include "prop.h"
 #include "logger.h"
 #include "version.h"
 #include "ilogger.h"
+#include "iregistry.h"
 
 #include <QCoreApplication>
 
@@ -30,7 +33,7 @@
 
 bool eVaf::Common::init()
 {
-    if (QCoreApplication::instance() == 0) {
+    if (QCoreApplication::instance() == nullptr) {
         EVAF_FATAL_ERROR("QApplication is not instantiated");
         return false;
     }
@@ -40,13 +43,25 @@ bool eVaf::Common::init()
     // Initialize all the common interface implementations in the proper sequence
 
     eVaf::Common::Internal::App * app =
-        qobject_cast<eVaf::Common::Internal::App *>(eVaf::Common::iApp::instance());
+            qobject_cast<eVaf::Common::Internal::App *>(eVaf::Common::iApp::instance());
     if (app) {
         if (!app->init())
             return false;
     }
+    eVaf::Common::Internal::Config * config =
+            qobject_cast<eVaf::Common::Internal::Config *>(eVaf::Common::iConfig::instance());
+    if (config) {
+        if (!config->init())
+            return false;
+    }
+    eVaf::Common::Internal::Prop * prop =
+            qobject_cast<eVaf::Common::Internal::Prop *>(eVaf::Common::iProp::instance());
+    if (prop) {
+        if (!prop->init())
+            return false;
+    }
     eVaf::Common::Internal::Logger * logger =
-        qobject_cast<eVaf::Common::Internal::Logger *>(eVaf::Common::iLogger::instance());
+            qobject_cast<eVaf::Common::Internal::Logger *>(eVaf::Common::iLogger::instance());
     if (logger) {
         if (!logger->init())
             return false;
@@ -56,3 +71,15 @@ bool eVaf::Common::init()
 
     return true;
 }
+
+void eVaf::Common::done()
+{
+    EVAF_INFO("Finalizing %s-Globals", VER_MODULE_NAME_STR);
+
+    //eVaf::Common::Internal::Logger::destroyInstance();
+    eVaf::Common::Internal::Prop::destroyInstance();
+    eVaf::Common::Internal::Config::destroyInstance();
+    eVaf::Common::Internal::App::destroyInstance();
+
+    EVAF_INFO("%s-Globals finalized", VER_MODULE_NAME_STR);
+}