#pragma once namespace steam { class master_server_updater { protected: ~master_server_updater() = default; public: virtual void SetActive(bool bActive); virtual void SetHeartbeatInterval(int iHeartbeatInterval); virtual bool HandleIncomingPacket(const void* pData, int cbData, unsigned int srcIP, unsigned short srcPort); virtual int GetNextOutgoingPacket(void* pOut, int cbMaxOut, unsigned int* pNetAdr, unsigned short* pPort); virtual void SetBasicServerData(unsigned short nProtocolVersion, bool bDedicatedServer, const char* pRegionName, const char* pProductName, unsigned short nMaxReportedClients, bool bPasswordProtected, const char* pGameDescription); virtual void ClearAllKeyValues(); virtual void SetKeyValue(const char* pKey, const char* pValue); virtual void NotifyShutdown(); virtual bool WasRestartRequested(); virtual void ForceHeartbeat(); virtual bool AddMasterServer(const char* pServerAddress); virtual bool RemoveMasterServer(const char* pServerAddress); virtual int GetNumMasterServers(); virtual int GetMasterServerAddress(int iServer, char* pOut, int outBufferSize); }; }