CVCMIServer.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef __CVCMISERVER_H__
  2. #define __CVCMISERVER_H__
  3. #include "../global.h"
  4. #include <set>
  5. /*
  6. * CVCMIServer.h, part of VCMI engine
  7. *
  8. * Authors: listed in file AUTHORS in main folder
  9. *
  10. * License: GNU General Public License v2.0 or later
  11. * Full text of license available in license.txt file, in main folder
  12. *
  13. */
  14. class CConnection;
  15. namespace boost
  16. {
  17. namespace asio
  18. {
  19. class io_service;
  20. namespace ip
  21. {
  22. class tcp;
  23. }
  24. template <typename Protocol> class socket_acceptor_service;
  25. template <typename Protocol,typename SocketAcceptorService>
  26. class basic_socket_acceptor;
  27. }
  28. };
  29. class CVCMIServer
  30. {
  31. boost::asio::io_service *io;
  32. boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > * acceptor;
  33. std::map<int,CConnection*> connections;
  34. std::set<CConnection*> conns;
  35. public:
  36. CVCMIServer(); //c-tor
  37. ~CVCMIServer(); //d-tor
  38. void setUpConnection(CConnection *c, std::string mapname, si32 checksum);
  39. void newGame(CConnection *c);
  40. void loadGame(CConnection *c);
  41. void start();
  42. };
  43. #endif // __CVCMISERVER_H__