#include "Archimedes.h" #include #include namespace CMEvent { class DataRecievedEvent : public Archimedes::Event { public: DataRecievedEvent() : msg(nullptr) {} DataRecievedEvent(ISteamNetworkingMessage* m) : msg(m) {} ~DataRecievedEvent() { if(msg) msg->Release(); } operator std::string() const { return "CMEvent::DataRecievedEvent"; } ISteamNetworkingMessage* msg; }; class DataSentEvent : public Archimedes::Event { public: DataSentEvent() : msg(nullptr) {} DataSentEvent(ISteamNetworkingMessage* m) : msg(m) {} operator std::string() const { return "CMEvent::DataSentEvent"; } ISteamNetworkingMessage* msg; }; class ConnectionStatusChangedEvent : public Archimedes::Event { public: ConnectionStatusChangedEvent() : info(nullptr) {} ConnectionStatusChangedEvent(SteamNetConnectionStatusChangedCallback_t* i) : info(i) {} operator std::string() const { return "CMEvent::ConnectionStatusChangedEvent"; } SteamNetConnectionStatusChangedCallback_t* info; }; }