#ifndef MDD_OUTPUT_H #define MDD_OUTPUT_H #include "IOutput.h" #include "IInput.h" #include "IModule.h" namespace mdd { class Output : public IOutput{ private: state _state; json _value; std::string _prefix; std::string _type; int _appendix; std::vector> _connections; protected: public: Output(const std::string& type, int appendix, const json& initial); const json& getValue() override; json& getValueInternal() override; state getState() override; void resetState() override; std::string setType(std::string type) override; std::string getType() override; std::string getID() override; std::string setPrefix(std::string prefix) override; std::string setAppendix(int appendix) override; int addConnection(std::shared_ptr input) override; int removeConnection(std::shared_ptr input) override; bool connect(std::shared_ptr input) override; std::vector> getConnections() override; }; } #endif