60 lines
1.3 KiB
C++
60 lines
1.3 KiB
C++
#ifndef NETWORKEVENTS_H
|
|
#define NETWORKEVENTS_H
|
|
|
|
#include "Event.h"
|
|
|
|
#include <steam/steamnetworkingsockets.h>
|
|
#include <steam/isteamnetworkingutils.h>
|
|
|
|
namespace Archimedes {
|
|
|
|
class DataRecievedEvent : public Event {
|
|
|
|
public:
|
|
|
|
DataRecievedEvent() : msg(nullptr) {}
|
|
|
|
DataRecievedEvent(ISteamNetworkingMessage* m) : msg(m) {}
|
|
|
|
~DataRecievedEvent() {
|
|
if(msg)
|
|
msg->Release();
|
|
}
|
|
|
|
operator std::string() const override { return "DataRecievedEvent"; }
|
|
|
|
ISteamNetworkingMessage* msg;
|
|
|
|
};
|
|
|
|
class DataSentEvent : public Event {
|
|
|
|
public:
|
|
|
|
DataSentEvent() : msg(nullptr) {}
|
|
|
|
DataSentEvent(const void* m, uint32 l) : msg(m), length(l) {}
|
|
|
|
operator std::string() const override { return "DataSentEvent"; }
|
|
|
|
const void* msg;
|
|
uint32 length;
|
|
};
|
|
|
|
class ConnectionStatusChangedEvent : public Event {
|
|
|
|
public:
|
|
|
|
ConnectionStatusChangedEvent() : info(nullptr) {}
|
|
|
|
ConnectionStatusChangedEvent(SteamNetConnectionStatusChangedCallback_t* i) : info(i) {}
|
|
|
|
operator std::string() const override { return "ConnectionStatusChangedEvent"; }
|
|
|
|
SteamNetConnectionStatusChangedCallback_t* info;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|