You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <queue>
|
|
|
|
|
|
|
|
|
|
#include "devilution.h"
|
|
|
|
|
#include "dvlnet/abstract_net.h"
|
|
|
|
|
|
|
|
|
|
namespace dvl {
|
|
|
|
|
namespace net {
|
|
|
|
|
|
|
|
|
|
class loopback : public abstract_net {
|
|
|
|
|
private:
|
|
|
|
|
std::queue<buffer_t> message_queue;
|
|
|
|
|
buffer_t message_last;
|
|
|
|
|
const int plr_single = 0;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
virtual int create(std::string addrstr, std::string passwd);
|
|
|
|
|
virtual int join(std::string addrstr, std::string passwd);
|
|
|
|
|
virtual bool SNetReceiveMessage(int *sender, char **data, int *size);
|
|
|
|
|
virtual bool SNetSendMessage(int dest, void *data, unsigned int size);
|
|
|
|
|
virtual bool SNetReceiveTurns(char **data, unsigned int *size,
|
|
|
|
|
DWORD *status);
|
|
|
|
|
virtual bool SNetSendTurn(char *data, unsigned int size);
|
|
|
|
|
virtual int SNetGetProviderCaps(struct _SNETCAPS *caps);
|
|
|
|
|
virtual bool SNetRegisterEventHandler(event_type evtype,
|
|
|
|
|
SEVTHANDLER func);
|
|
|
|
|
virtual bool SNetUnregisterEventHandler(event_type evtype,
|
|
|
|
|
SEVTHANDLER func);
|
|
|
|
|
virtual bool SNetLeaveGame(int type);
|
|
|
|
|
virtual bool SNetDropPlayer(int playerid, DWORD flags);
|
|
|
|
|
virtual bool SNetGetOwnerTurnsWaiting(DWORD *turns);
|
|
|
|
|
virtual bool SNetGetTurnsInTransit(int *turns);
|
|
|
|
|
virtual void setup_gameinfo(buffer_t info);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace net
|
|
|
|
|
} // namespace dvl
|