Counter Strike : Global Offensive Source Code
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.
 
 
 
 
 
 

56 lines
1.2 KiB

#ifndef _ISERVERMANAGER_H_
#define _ISERVERMANAGER_H_
class IServer;
class IServerManager;
#include "imatchsystem.h"
abstract_class IMatchServer
{
public:
//
// GetOnlineId
// returns server online id to store as reference
//
virtual XUID GetOnlineId() = 0;
//
// GetGameDetails
// returns server game details
//
virtual KeyValues *GetGameDetails() = 0;
//
// IsJoinable and Join
// returns whether server is joinable and initiates join to the server
//
virtual bool IsJoinable() = 0;
virtual void Join() = 0;
};
abstract_class IServerManager
{
public:
//
// EnableServersUpdate
// controls whether server data is being updated in the background
//
virtual void EnableServersUpdate( bool bEnable ) = 0;
//
// GetNumServers
// returns number of servers discovered and for which data is available
//
virtual int GetNumServers() = 0;
//
// GetServerByIndex / GetServerByOnlineId
// returns server interface to the given server or NULL if server not found or not available
//
virtual IMatchServer* GetServerByIndex( int iServerIdx ) = 0;
virtual IMatchServer* GetServerByOnlineId( XUID xuidServerOnline ) = 0;
};
#endif // _ISERVERMANAGER_H_