CVCMIServer.h 774 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "../global.h"
  3. #include <set>
  4. class CConnection;
  5. namespace boost
  6. {
  7. namespace asio
  8. {
  9. class io_service;
  10. namespace ip
  11. {
  12. class tcp;
  13. }
  14. template <typename Protocol> class socket_acceptor_service;
  15. template <typename Protocol,typename SocketAcceptorService>
  16. class basic_socket_acceptor;
  17. }
  18. };
  19. class CVCMIServer
  20. {
  21. boost::asio::io_service *io;
  22. boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > * acceptor;
  23. std::map<int,CConnection*> connections;
  24. std::set<CConnection*> conns;
  25. public:
  26. CVCMIServer();
  27. ~CVCMIServer();
  28. void setUpConnection(CConnection *c, std::string mapname, si32 checksum);
  29. void newGame(CConnection &c);
  30. void start();
  31. };