ProfinetConnector/src/profinet/profinet_module.hpp

30 lines
831 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include <cstdint>
#include <string>
#include <map>
#include <memory>
#include "profinet_submodule.hpp"
class ProfinetModule {
public:
static std::shared_ptr<ProfinetModule> Create(uint32_t module_id, std::string module_name) {
return std::shared_ptr<ProfinetModule>(new ProfinetModule(module_id, module_name));
}
ProfinetModule(uint32_t module_id, std::string module_name);
bool addSubmodule(std::shared_ptr<ProfinetSubmodule>& submodule_ptr);
std::shared_ptr<ProfinetSubmodule> getSubmodulePtr(uint32_t submodule_id);
public:
const uint32_t m_id; /// module id
const std::string m_name; /// module name
private:
/// Набор поддерживаемых подмодулей
std::map<uint32_t, std::shared_ptr<ProfinetSubmodule>> m_submodules;
};