28 lines
584 B
C++
28 lines
584 B
C++
#include "singleton_manager.h"
|
|
|
|
#include "singleton.h"
|
|
|
|
void singleton_manager::add(singleton* s) {
|
|
singletons_.push_back(s);
|
|
}
|
|
|
|
void singleton_manager::init() const {
|
|
singleton_initliazer initliazer;
|
|
for (const auto s : singletons_) {
|
|
s->init(initliazer);
|
|
initliazer.singletons_.push_back(s);
|
|
}
|
|
for (const auto s : singletons_) {
|
|
s->post_init();
|
|
}
|
|
}
|
|
|
|
void singleton_manager::release() const {
|
|
for (const auto s : singletons_) {
|
|
s->begin_release();
|
|
}
|
|
for (const auto s : singletons_) {
|
|
s->release();
|
|
}
|
|
}
|