From 1967e3465c7e82d84dc8441ba1993a55050766fb Mon Sep 17 00:00:00 2001 From: Toni Uhlig Date: Sun, 20 Jun 2021 11:20:47 +0200 Subject: Basic blog module. EventManager, ContentManager Signed-off-by: Toni Uhlig --- src/ContentManager.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) (limited to 'src/ContentManager.cpp') diff --git a/src/ContentManager.cpp b/src/ContentManager.cpp index 1ba7654..951c10e 100644 --- a/src/ContentManager.cpp +++ b/src/ContentManager.cpp @@ -1,6 +1,61 @@ #include "ContentManager.hpp" -bool ContentManager::Register(Content const & ctnt) +bool ContentManager::RegisterModule(std::shared_ptr ctnt) { + std::string const & basePath = ctnt->GetBasePath(); + Redirections const & rs = ctnt->GetRedirections(); + + m_ContentModules[basePath] = ctnt; + for (auto & redirect : rs) + { + m_ContentModules[redirect] = ctnt; + } + + return false; +} + +bool ContentManager::InitAll(void) +{ + bool ret = true; + + for (auto & content : m_ContentModules) + { + if (content.second->Init() == false) + { + ret = false; + } + } + + return ret; +} + +void ContentManager::ShutdownAll(void) +{ + std::unordered_map, bool> shutdownModules; + + for (auto & content : m_ContentModules) + { + auto const & search = shutdownModules.find(content.second); + if (search != shutdownModules.end()) + { + continue; + } else { + content.second->Shutdown(); + shutdownModules[content.second] = true; + } + } + + m_ContentModules.clear(); +} + +bool ContentManager::Render(std::string & basePath) +{ + (void)basePath; + return false; } + +ContentModules const & ContentManager::GetAllModules() const +{ + return m_ContentModules; +} -- cgit v1.2.3