45 lines
825 B
C++
45 lines
825 B
C++
#include "hello_module.h"
|
|
#include <iostream>
|
|
|
|
namespace extra2d {
|
|
|
|
HelloModule::HelloModule(const HelloCfg &cfg) : cfg_(cfg) {}
|
|
|
|
HelloModule::HelloModule(std::function<void(HelloCfg &)> 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
|