]> vaikene.ee Git - evaf/blob - src/libs/Common/globals.cpp
5054bd1e05c71f1d4d8093277e564d7b3240a67f
[evaf] / src / libs / Common / globals.cpp
1 /**
2 * @file Common/globals.cpp
3 * @brief Global constants and macros for eVaf
4 * @author Enar Vaikene
5 *
6 * Copyright (c) 2011-2012 Enar Vaikene
7 *
8 * This file is part of the eVaf C++ cross-platform application development framework.
9 *
10 * This file can be used under the terms of the GNU General Public License
11 * version 3.0 as published by the Free Software Foundation and appearing in
12 * the file LICENSE included in the packaging of this file. Please review the
13 * the following information to ensure the GNU General Public License version
14 * 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html.
15 *
16 * Alternatively, this file may be used in accordance with the Commercial License
17 * Agreement provided with the Software.
18 */
19
20 #include "globals.h"
21 #include "app.h"
22 #include "config.h"
23 #include "prop.h"
24 #include "logger.h"
25 #include "version.h"
26 #include "ilogger.h"
27
28 #include <QCoreApplication>
29
30
31 //-------------------------------------------------------------------
32
33 bool eVaf::Common::init()
34 {
35 if (QCoreApplication::instance() == 0) {
36 EVAF_FATAL_ERROR("QApplication is not instantiated");
37 return false;
38 }
39
40 EVAF_INFO("Initializing %s-Globals", VER_MODULE_NAME_STR);
41
42 // Initialize all the common interface implementations in the proper sequence
43
44 eVaf::Common::Internal::App * app =
45 qobject_cast<eVaf::Common::Internal::App *>(eVaf::Common::iApp::instance());
46 if (app) {
47 if (!app->init())
48 return false;
49 }
50 eVaf::Common::Internal::Config * config =
51 qobject_cast<eVaf::Common::Internal::Config *>(eVaf::Common::iConfig::instance());
52 if (config) {
53 if (!config->init())
54 return false;
55 }
56 eVaf::Common::Internal::Prop * prop =
57 qobject_cast<eVaf::Common::Internal::Prop *>(eVaf::Common::iProp::instance());
58 if (prop) {
59 if (!prop->init())
60 return false;
61 }
62 eVaf::Common::Internal::Logger * logger =
63 qobject_cast<eVaf::Common::Internal::Logger *>(eVaf::Common::iLogger::instance());
64 if (logger) {
65 if (!logger->init())
66 return false;
67 }
68
69 EVAF_INFO("%s-Globals initialized", VER_MODULE_NAME_STR);
70
71 return true;
72 }