ModuleHTTP.h 786 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef MDD_MODULEHTTP_H
  2. #define MDD_MODULEHTTP_H
  3. #include "ModuleBase.h"
  4. #include <httplib.h>
  5. #include <memory>
  6. namespace boost {
  7. namespace process{
  8. class child;
  9. }
  10. };
  11. using namespace boost::process;
  12. using namespace httplib;
  13. namespace mdd{
  14. class ModuleHTTP : public ModuleBase{
  15. private:
  16. std::string _fname;
  17. std::string _id;
  18. int _port;
  19. std::unique_ptr<child> _child;
  20. protected:
  21. bool connect();
  22. std::string str_to_json(const std::string& input);
  23. state updateInputs();
  24. state updateOutputs();
  25. void updateLayout();
  26. public:
  27. ModuleHTTP(std::string fname, std::string id, int port);
  28. ~ModuleHTTP();
  29. state update() override;
  30. };
  31. }
  32. #endif //MDD_MODULEHTTP_H