diff --git a/bakara/src/bakara/core/application.cpp b/bakara/src/bakara/core/application.cpp index e69de29..5aac88c 100644 --- a/bakara/src/bakara/core/application.cpp +++ b/bakara/src/bakara/core/application.cpp @@ -0,0 +1,11 @@ +#include "application.h" + +namespace Bk { + Application::Application() { } + Application::~Application() { } + + void Application::run() + { + while (true); + } +} diff --git a/bakara/src/bakara/core/application.h b/bakara/src/bakara/core/application.h index e69de29..8b39155 100644 --- a/bakara/src/bakara/core/application.h +++ b/bakara/src/bakara/core/application.h @@ -0,0 +1,16 @@ +#pragma once + +#include + +namespace Bk { + class Application + { + public: + Application(); + virtual ~Application(); + + void run(); + }; + + std::unique_ptr create_app(); +} \ No newline at end of file diff --git a/bakara/src/bakara/core/entry.h b/bakara/src/bakara/core/entry.h index e69de29..4abbd86 100644 --- a/bakara/src/bakara/core/entry.h +++ b/bakara/src/bakara/core/entry.h @@ -0,0 +1,16 @@ +#pragma once + +#include +#include "log.h" +#include "application.h" + + +extern std::unique_ptr Bk::create_app(); + +int main(int argc, char** argv) { + Bk::Log::init(); + BK_INFO("Bienvenue dans la sandbox {0}", "bakara"); + std::unique_ptr app = Bk::create_app(); + app->run(); + return 0; +} \ No newline at end of file diff --git a/bakara/src/bakara/core/log.cpp b/bakara/src/bakara/core/log.cpp index 442f209..b77aef7 100644 --- a/bakara/src/bakara/core/log.cpp +++ b/bakara/src/bakara/core/log.cpp @@ -2,27 +2,27 @@ namespace Bk { - std::shared_ptr Log::CoreLogger; - std::shared_ptr Log::AppLogger; + std::shared_ptr Log::core_logger; + std::shared_ptr Log::app_logger; - void Log::Init() + void Log::init() { - std::vector logSinks; - logSinks.emplace_back(std::make_shared()); - logSinks.emplace_back(std::make_shared("bakara.log", true)); + std::vector log_sinks; + log_sinks.emplace_back(std::make_shared()); + log_sinks.emplace_back(std::make_shared("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("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("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("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("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); } } \ No newline at end of file diff --git a/bakara/src/bakara/core/log.h b/bakara/src/bakara/core/log.h index ec4142e..0bafea2 100644 --- a/bakara/src/bakara/core/log.h +++ b/bakara/src/bakara/core/log.h @@ -11,26 +11,26 @@ namespace Bk { class Log { public: - static void Init(); + static void init(); - static std::shared_ptr& GetCoreLogger() { return CoreLogger; } - static std::shared_ptr& GetAppLogger() { return AppLogger; } + static std::shared_ptr& get_core_logger() { return core_logger; } + static std::shared_ptr& get_app_logger() { return app_logger; } private: - static std::shared_ptr CoreLogger; - static std::shared_ptr AppLogger; + static std::shared_ptr core_logger; + static std::shared_ptr 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__) } \ No newline at end of file