IInput.h 561 B

12345678910111213141516171819202122232425
  1. #ifndef MDD_IINPUT_H
  2. #define MDD_IINPUT_H
  3. #include "json.hpp"
  4. #include <memory>
  5. #include "IOutput.h"
  6. #include "IUnique.h"
  7. #include "IState.h"
  8. #include "IConnector.h"
  9. namespace mdd{
  10. class IInput
  11. : public IUnique
  12. , public IState
  13. , public IConnector<IOutput>
  14. {
  15. public:
  16. virtual const json& getValue() = 0;
  17. virtual json& setDefaultValue() = 0;
  18. virtual bool verify(const json & data) = 0;
  19. virtual std::shared_ptr<IOutput> getConnection() = 0;
  20. virtual ~IInput() = default;
  21. };
  22. }
  23. #endif