#include "profinet_module.hpp"

ProfinetModule::ProfinetModule(uint32_t module_id, std::string module_name) : 
                               m_id(module_id), 
                               m_name(module_name) 
{

};

bool ProfinetModule::addSubmodule(std::shared_ptr<ProfinetSubmodule>& submodule_ptr)
{
    auto ret = m_submodules.emplace(submodule_ptr->m_id, submodule_ptr);

    return ret.second;
}

std::shared_ptr<ProfinetSubmodule> ProfinetModule::getSubmodulePtr(uint32_t submodule_id)
{
    if (!m_submodules.count(submodule_id))
    {
        return nullptr;
    }

    return m_submodules[submodule_id];
}