* @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>
bool eVaf::Common::init()
{
- if (QCoreApplication::instance() == 0) {
+ if (QCoreApplication::instance() == nullptr) {
EVAF_FATAL_ERROR("QApplication is not instantiated");
return false;
}
// 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;
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);
+}