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.
69 lines
1.7 KiB
69 lines
1.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//============================================================================= |
|
|
|
#ifndef IGAMELIST_H |
|
#define IGAMELIST_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
struct serveritem_t; |
|
#include "FindSteamServers.h" |
|
|
|
#define EMPTY_SERVER_NAME "0.0.0.0:0" |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Interface to accessing a game list |
|
//----------------------------------------------------------------------------- |
|
class IGameList |
|
{ |
|
public: |
|
|
|
enum InterfaceItem_e |
|
{ |
|
FILTERS, |
|
GETNEWLIST, |
|
ADDSERVER, |
|
ADDCURRENTSERVER, |
|
}; |
|
|
|
// returns true if the game list supports the specified ui elements |
|
virtual bool SupportsItem(InterfaceItem_e item) = 0; |
|
|
|
// starts the servers refreshing |
|
virtual void StartRefresh() = 0; |
|
|
|
// gets a new server list |
|
virtual void GetNewServerList() = 0; |
|
|
|
// stops current refresh/GetNewServerList() |
|
virtual void StopRefresh() = 0; |
|
|
|
// returns true if the list is currently refreshing servers |
|
virtual bool IsRefreshing() = 0; |
|
|
|
// gets information about specified server |
|
virtual serveritem_t &GetServer(unsigned int serverID) = 0; |
|
|
|
// adds a new server to list |
|
virtual void AddNewServer(serveritem_t &server) = 0; |
|
|
|
// marks that server list has been fully received |
|
virtual void ListReceived(bool moreAvailable, const char *lastUniqueIP, ESteamServerType serverType) = 0; |
|
|
|
// called when Connect button is pressed |
|
virtual void OnBeginConnect() = 0; |
|
|
|
// reapplies filters |
|
virtual void ApplyFilters() = 0; |
|
|
|
// invalid server index |
|
virtual int GetInvalidServerListID() = 0; |
|
}; |
|
|
|
|
|
#endif // IGAMELIST_H
|
|
|