#include "hello_module.h" #include namespace extra2d { HelloModule::HelloModule(const HelloCfg &cfg) : cfg_(cfg) {} HelloModule::HelloModule(std::function configFn) { configFn(cfg_); } HelloModule::~HelloModule() { if (initialized_) { shutdown(); } } bool HelloModule::init() { if (initialized_) return true; E2D_INFO("HelloModule initialized"); E2D_INFO(" Greeting: {}", cfg_.greeting); E2D_INFO(" Repeat count: {}", cfg_.repeatCount); initialized_ = true; return true; } void HelloModule::shutdown() { if (!initialized_) return; E2D_INFO("HelloModule shutdown"); initialized_ = false; } void HelloModule::sayHello() const { for (int i = 0; i < cfg_.repeatCount; ++i) { std::cout << cfg_.greeting << std::endl; } } } // namespace extra2d