#ifndef NETWORKEVENTS_H #define NETWORKEVENTS_H #include "Event.h" #include #include namespace Archimedes { class DataRecievedEvent : public Event { public: DataRecievedEvent() : Event(nullptr), msg(nullptr) {} DataRecievedEvent(ISteamNetworkingMessage* m) : Event(nullptr), msg(m) {} ~DataRecievedEvent() { if(msg) msg->Release(); } operator std::string() const override { return "DataRecievedEvent"; } ISteamNetworkingMessage* msg; }; class DataSentEvent : public Event { public: DataSentEvent() : Event(nullptr), msg(nullptr) {} DataSentEvent(const void* m, uint32 l) : Event(nullptr), msg(m), length(l) {} operator std::string() const override { return "DataSentEvent"; } const void* msg; uint32 length; }; class ConnectionStatusChangedEvent : public Event { public: ConnectionStatusChangedEvent() : Event(nullptr), info(nullptr) {} ConnectionStatusChangedEvent(SteamNetConnectionStatusChangedCallback_t* i) : Event(nullptr), info(i) {} operator std::string() const override { return "ConnectionStatusChangedEvent"; } SteamNetConnectionStatusChangedCallback_t* info; }; } #endif