AusweisApp2/src/global/Initializer.cpp

51 lines
689 B
C++
Raw Normal View History

2017-12-20 14:54:05 +01:00
/*
2018-03-28 15:10:51 +02:00
* \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany
2017-12-20 14:54:05 +01:00
*/
#include "Initializer.h"
#include "SingletonHelper.h"
#include <QCoreApplication>
using namespace governikus;
defineSingleton(Initializer)
Initializer & Initializer::getInstance()
{
return *Instance;
}
void Initializer::init()
{
for (const auto& entry : getInstance().mRegisteredFunctions)
{
entry();
}
}
void Initializer::add(const std::function<void()>& pRegister)
{
mRegisteredFunctions.push_back(pRegister);
if (QCoreApplication::instance())
{
pRegister();
}
}
namespace
{
static void initialize()
{
Initializer::getInstance().init();
}
}
Q_COREAPP_STARTUP_FUNCTION(initialize)