8 #ifndef ICOMPONENT_HPP_ 9 #define ICOMPONENT_HPP_ 12 #include "Setting.hpp" 24 virtual void createAllComponents(
const std::vector<Component::ComponentSetting> &settings) = 0;
26 virtual nts::Tristate compute(std::size_t pin = 1) = 0;
27 virtual void setLink(std::size_t pin ,
nts::IComponent &other, std::size_t otherPin) = 0;
28 virtual void dump()
const noexcept = 0;
29 virtual void displayState(std::size_t pin)
const noexcept = 0;
31 virtual void setInput(std::size_t pin,
nts::IComponent &other, std::size_t otherPin) = 0;
32 virtual void setOutput(std::size_t pin,
nts::IComponent &other, std::size_t otherPin) = 0;
34 virtual void setState(
const std::string &name,
const std::string &state) = 0;
35 virtual void setState(
const std::string &state) = 0;
37 virtual void setName(
const std::string &name) noexcept = 0;
38 virtual const std::string &getName()
const noexcept = 0;
40 virtual const Type &getType()
const noexcept = 0;
43 using ptrIComponent_t = std::unique_ptr<nts::IComponent>;
Definition: IComponent.hpp:45
Definition: IComponent.hpp:16
Definition: IComponent.hpp:18
Definition: IComponent.hpp:52
Definition: IComponent.hpp:58