CVCMIServer.h 843 B

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