mirror of
https://github.com/vcmi/vcmi.git
synced 2024-11-24 08:32:34 +02:00
47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
#ifndef __CVCMISERVER_H__
|
|
#define __CVCMISERVER_H__
|
|
#include "../global.h"
|
|
#include <set>
|
|
|
|
/*
|
|
* CVCMIServer.h, part of VCMI engine
|
|
*
|
|
* Authors: listed in file AUTHORS in main folder
|
|
*
|
|
* License: GNU General Public License v2.0 or later
|
|
* Full text of license available in license.txt file, in main folder
|
|
*
|
|
*/
|
|
|
|
class CConnection;
|
|
namespace boost
|
|
{
|
|
namespace asio
|
|
{
|
|
class io_service;
|
|
namespace ip
|
|
{
|
|
class tcp;
|
|
}
|
|
template <typename Protocol> class socket_acceptor_service;
|
|
template <typename Protocol,typename SocketAcceptorService>
|
|
class basic_socket_acceptor;
|
|
}
|
|
};
|
|
|
|
class CVCMIServer
|
|
{
|
|
boost::asio::io_service *io;
|
|
boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > * acceptor;
|
|
std::map<int,CConnection*> connections;
|
|
std::set<CConnection*> conns;
|
|
public:
|
|
CVCMIServer(); //c-tor
|
|
~CVCMIServer(); //d-tor
|
|
void setUpConnection(CConnection *c, std::string mapname, si32 checksum);
|
|
void newGame(CConnection *c);
|
|
void loadGame(CConnection *c);
|
|
void start();
|
|
};
|
|
#endif // __CVCMISERVER_H__
|