PlainConnection.h 749 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef PLAINCONNECTION_H
  2. #define PLAINCONNECTION_H
  3. #include "sys/socket.h"
  4. #include <functional>
  5. #include <vector>
  6. #include <string>
  7. #include <cstdint>
  8. #include <netdb.h>
  9. #include <unistd.h>
  10. #include "Packet.h"
  11. #include "Utils.h"
  12. typedef std::function<bool()> timeoutCallback;
  13. class PlainConnection
  14. {
  15. public:
  16. PlainConnection();
  17. ~PlainConnection();
  18. int apSock;
  19. void connectToAp(std::string apAddress);
  20. void closeSocket();
  21. timeoutCallback timeoutHandler;
  22. std::vector<uint8_t> sendPrefixPacket(const std::vector<uint8_t> &prefix, const std::vector<uint8_t> &data);
  23. std::vector<uint8_t> recvPacket();
  24. std::vector<uint8_t> readBlock(size_t size);
  25. size_t writeBlock(const std::vector<uint8_t> &data);
  26. };
  27. #endif