59 lines
2.1 KiB
C++
Executable File
59 lines
2.1 KiB
C++
Executable File
/**
|
|
* Initialization for GuezNasat
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by hjl, SLSE, 2016-11-14
|
|
*/
|
|
#pragma once
|
|
|
|
#include <DDS/DDSConnector/dds_connector.h>
|
|
#include <ngldb/db_service_handler.h>
|
|
#include <GuezNasat/gna_export.h>
|
|
#include <GuezNasat/logger.h>
|
|
|
|
class QSqlDatabase;
|
|
namespace GuezNasat
|
|
{
|
|
class DdsHandler;
|
|
class DatabaseInterface;
|
|
class HandlerNasatAircraft;
|
|
class HandlerNasatAircraftParticipant;
|
|
class HandlerNasatImpact;
|
|
class HandlerNasatNineLiner;
|
|
class HandlerParticipant;
|
|
class AbstractSocketHandler;
|
|
|
|
using DbHandler = NGLDB::DbServiceHandler<DatabaseInterface>;
|
|
class HandlerCodificationData;
|
|
|
|
class GNA_SERVER_EXPORT Initialization final
|
|
{
|
|
public:
|
|
Initialization();
|
|
~Initialization();
|
|
|
|
bool initialize(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector, const QSqlDatabase &);
|
|
bool loadFromDatabase();
|
|
|
|
std::shared_ptr<DdsHandler> dds() const { return m_ddsHandler; }
|
|
std::shared_ptr<DatabaseInterface> db() const;
|
|
std::shared_ptr<HandlerNasatAircraft> nasatAircraft() const { return m_handlerNasatAircraft; }
|
|
std::shared_ptr<HandlerNasatAircraftParticipant> nasatAircraftParticipant() const { return m_handlerNasatAircraftParticipant; }
|
|
std::shared_ptr<HandlerParticipant> handlerParticipant() const { return m_handlerParticipant; }
|
|
|
|
private: // attributes
|
|
std::shared_ptr<DdsHandler> m_ddsHandler; ///< Pointer to DDS handler
|
|
std::shared_ptr<DbHandler> m_dbHandler; ///< Pointer to DB handler
|
|
std::shared_ptr<HandlerNasatAircraft> m_handlerNasatAircraft;
|
|
std::shared_ptr<HandlerNasatAircraftParticipant> m_handlerNasatAircraftParticipant;
|
|
std::shared_ptr<HandlerNasatImpact> m_handlerNasatImpact;
|
|
std::shared_ptr<HandlerNasatNineLiner> m_handlerNasatNineLiner;
|
|
std::shared_ptr<HandlerParticipant> m_handlerParticipant;
|
|
std::shared_ptr<AbstractSocketHandler> m_jsonSocketHandler;
|
|
|
|
NGL::INGLLogger &m_logger; ///< Interface to the Logging-Facility
|
|
|
|
};
|
|
} // namespace GuezNasat
|