stuff-from-scratch/src/console/MainApplication.h
2020-05-02 08:31:03 +01:00

37 lines
612 B
C++

#pragma once
#include <memory>
#include <filesystem>
#include "AudioManager.h"
#include "FileLogger.h"
#include "DatabaseManager.h"
#include "NetworkManager.h"
class MainApplication
{
private:
FileLoggerPtr mLogger;
DatabaseManagerPtr mDatabaseManager;
NetworkManagerPtr mNetworkManager;
AudioManagerPtr mAudioManager;
public:
MainApplication();
~MainApplication();
void Initialize(const std::filesystem::path& workDir);
void RunServer();
void PlayAudio();
void ShutDown();
static std::shared_ptr<MainApplication> Create();
};
using MainApplicationPtr = std::shared_ptr<MainApplication>;