summaryrefslogtreecommitdiff
path: root/src/appMain/main.cc
diff options
context:
space:
mode:
authorAndriy Byzhynar <abyzhynar@luxoft.com>2018-06-27 13:11:11 +0300
committerAlexander <akutsan@luxoft.com>2018-08-21 12:30:03 +0300
commitaf2f7dfa77e92694095104fe6949c412f8edf12e (patch)
treeac797f96acd7fd26631fdd863ee56baac7fcff13 /src/appMain/main.cc
parentd3b1ab462a1617a89cd4372c0aaa58a12c96287f (diff)
downloadsdl_core-af2f7dfa77e92694095104fe6949c412f8edf12e.tar.gz
Create Life Cycle class interface
Created Life cycle class interface in order: - to make unit-testing available - to decrease components coupling
Diffstat (limited to 'src/appMain/main.cc')
-rw-r--r--src/appMain/main.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/appMain/main.cc b/src/appMain/main.cc
index 02f1023ff4..e9625cc33a 100644
--- a/src/appMain/main.cc
+++ b/src/appMain/main.cc
@@ -35,6 +35,7 @@
#include <signal.h>
#include <cstdio>
#include <cstdlib>
+#include <memory>
#include <vector>
#include <string>
#include <iostream> // cpplint: Streams are highly discouraged.
@@ -45,7 +46,7 @@
#include "utils/log_message_loop_thread.h"
#include "utils/logger.h"
-#include "./life_cycle.h"
+#include "appMain/life_cycle_impl.h"
#include "signal_handlers.h"
#include "utils/signals.h"
@@ -103,7 +104,8 @@ int32_t main(int32_t argc, char** argv) {
// --------------------------------------------------------------------------
// Components initialization
profile::Profile profile_instance;
- main_namespace::LifeCycle life_cycle(profile_instance);
+ std::unique_ptr<main_namespace::LifeCycle> life_cycle(
+ new main_namespace::LifeCycleImpl(profile_instance));
if ((argc > 1) && (0 != argv)) {
profile_instance.set_config_file_name(argv[1]);
} else {
@@ -134,9 +136,9 @@ int32_t main(int32_t argc, char** argv) {
// --------------------------------------------------------------------------
// Components initialization
- if (!life_cycle.StartComponents()) {
+ if (!life_cycle->StartComponents()) {
LOG4CXX_FATAL(logger_, "Failed to start components");
- life_cycle.StopComponents();
+ life_cycle->StopComponents();
DEINIT_LOGGER();
exit(EXIT_FAILURE);
}
@@ -145,9 +147,9 @@ int32_t main(int32_t argc, char** argv) {
// --------------------------------------------------------------------------
// Third-Party components initialization.
- if (!life_cycle.InitMessageSystem()) {
+ if (!life_cycle->InitMessageSystem()) {
LOG4CXX_FATAL(logger_, "Failed to init message system");
- life_cycle.StopComponents();
+ life_cycle->StopComponents();
DEINIT_LOGGER();
_exit(EXIT_FAILURE);
}
@@ -167,10 +169,10 @@ int32_t main(int32_t argc, char** argv) {
}
// --------------------------------------------------------------------------
- life_cycle.Run();
+ life_cycle->Run();
LOG4CXX_INFO(logger_, "Stop SDL due to caught signal");
- life_cycle.StopComponents();
+ life_cycle->StopComponents();
LOG4CXX_INFO(logger_, "Application has been stopped successfuly");
DEINIT_LOGGER();