Added entry point to the engine

dev
anulax1225 ago%!(EXTRA string=1 year)
parent 4186d26db2
commit c716fc57d1
  1. 11
      bakara/src/bakara/core/application.cpp
  2. 16
      bakara/src/bakara/core/application.h
  3. 16
      bakara/src/bakara/core/entry.h
  4. 32
      bakara/src/bakara/core/log.cpp
  5. 30
      bakara/src/bakara/core/log.h

@ -0,0 +1,11 @@
#include "application.h"
namespace Bk {
Application::Application() { }
Application::~Application() { }
void Application::run()
{
while (true);
}
}

@ -0,0 +1,16 @@
#pragma once
#include <bkpch.h>
namespace Bk {
class Application
{
public:
Application();
virtual ~Application();
void run();
};
std::unique_ptr<Application> create_app();
}

@ -0,0 +1,16 @@
#pragma once
#include <bkpch.h>
#include "log.h"
#include "application.h"
extern std::unique_ptr<Bk::Application> Bk::create_app();
int main(int argc, char** argv) {
Bk::Log::init();
BK_INFO("Bienvenue dans la sandbox {0}", "bakara");
std::unique_ptr<Bk::Application> app = Bk::create_app();
app->run();
return 0;
}

@ -2,27 +2,27 @@
namespace Bk {
std::shared_ptr<spdlog::logger> Log::CoreLogger;
std::shared_ptr<spdlog::logger> Log::AppLogger;
std::shared_ptr<spdlog::logger> Log::core_logger;
std::shared_ptr<spdlog::logger> Log::app_logger;
void Log::Init()
void Log::init()
{
std::vector<spdlog::sink_ptr> logSinks;
logSinks.emplace_back(std::make_shared<spdlog::sinks::stdout_color_sink_mt>());
logSinks.emplace_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("bakara.log", true));
std::vector<spdlog::sink_ptr> log_sinks;
log_sinks.emplace_back(std::make_shared<spdlog::sinks::stdout_color_sink_mt>());
log_sinks.emplace_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("bakara.log", true));
logSinks[0]->set_pattern("%^[%T] %n: %v%$");
logSinks[1]->set_pattern("[%T] [%l] %n: %v");
log_sinks[0]->set_pattern("%^[%T] %n: %v%$");
log_sinks[1]->set_pattern("[%T] [%l] %n: %v");
CoreLogger = std::make_shared<spdlog::logger>("BAKARA", begin(logSinks), end(logSinks));
spdlog::register_logger(CoreLogger);
CoreLogger->set_level(spdlog::level::trace);
CoreLogger->flush_on(spdlog::level::trace);
core_logger = std::make_shared<spdlog::logger>("BAKARA", begin(log_sinks), end(log_sinks));
spdlog::register_logger(core_logger);
core_logger->set_level(spdlog::level::trace);
core_logger->flush_on(spdlog::level::trace);
AppLogger = std::make_shared<spdlog::logger>("APP", begin(logSinks), end(logSinks));
spdlog::register_logger(AppLogger);
AppLogger->set_level(spdlog::level::trace);
AppLogger->flush_on(spdlog::level::trace);
app_logger = std::make_shared<spdlog::logger>("APP", begin(log_sinks), end(log_sinks));
spdlog::register_logger(app_logger);
app_logger->set_level(spdlog::level::trace);
app_logger->flush_on(spdlog::level::trace);
}
}

@ -11,26 +11,26 @@ namespace Bk {
class Log
{
public:
static void Init();
static void init();
static std::shared_ptr<spdlog::logger>& GetCoreLogger() { return CoreLogger; }
static std::shared_ptr<spdlog::logger>& GetAppLogger() { return AppLogger; }
static std::shared_ptr<spdlog::logger>& get_core_logger() { return core_logger; }
static std::shared_ptr<spdlog::logger>& get_app_logger() { return app_logger; }
private:
static std::shared_ptr<spdlog::logger> CoreLogger;
static std::shared_ptr<spdlog::logger> AppLogger;
static std::shared_ptr<spdlog::logger> core_logger;
static std::shared_ptr<spdlog::logger> app_logger;
};
#define BK_CORE_TRACE(...) ::Bk::Log::GetCoreLogger()->trace(__VA_ARGS__)
#define BK_CORE_INFO(...) ::Bk::Log::GetCoreLogger()->info(__VA_ARGS__)
#define BK_CORE_WARN(...) ::Bk::Log::GetCoreLogger()->warn(__VA_ARGS__)
#define BK_CORE_ERROR(...) ::Bk::Log::GetCoreLogger()->error(__VA_ARGS__)
#define BK_CORE_CRITICAL(...) ::Bk::Log::GetCoreLogger()->critical(__VA_ARGS__)
#define BK_CORE_TRACE(...) ::Bk::Log::get_core_logger()->trace(__VA_ARGS__)
#define BK_CORE_INFO(...) ::Bk::Log::get_core_logger()->info(__VA_ARGS__)
#define BK_CORE_WARN(...) ::Bk::Log::get_core_logger()->warn(__VA_ARGS__)
#define BK_CORE_ERROR(...) ::Bk::Log::get_core_logger()->error(__VA_ARGS__)
#define BK_CORE_CRITICAL(...) ::Bk::Log::get_core_logger()->critical(__VA_ARGS__)
// Client log macros
#define BK_TRACE(...) ::Bk::Log::GetAppLogger()->trace(__VA_ARGS__)
#define BK_INFO(...) ::Bk::Log::GetAppLogger()->info(__VA_ARGS__)
#define BK_WARN(...) ::Bk::Log::GetAppLogger()->warn(__VA_ARGS__)
#define BK_ERROR(...) ::Bk::Log::GetAppLogger()->error(__VA_ARGS__)
#define BK_CRITICAL(...) ::Bk::Log::GetAppLogger()->critical(__VA_ARGS__)
#define BK_TRACE(...) ::Bk::Log::get_app_logger()->trace(__VA_ARGS__)
#define BK_INFO(...) ::Bk::Log::get_app_logger()->info(__VA_ARGS__)
#define BK_WARN(...) ::Bk::Log::get_app_logger()->warn(__VA_ARGS__)
#define BK_ERROR(...) ::Bk::Log::get_app_logger()->error(__VA_ARGS__)
#define BK_CRITICAL(...) ::Bk::Log::get_app_logger()->critical(__VA_ARGS__)
}
Loading…
Cancel
Save