source-engine/serverbrowser/unused/BlacklistedServers.h

70 lines
2.1 KiB
C
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#ifndef BLACKLISTEDSERVERS_H
#define BLACKLISTEDSERVERS_H
#ifdef _WIN32
#pragma once
#endif
#include "ServerBrowser/blacklisted_server_manager.h"
#include <time.h>
2020-04-22 16:56:21 +00:00
//-----------------------------------------------------------------------------
// Purpose: Blacklisted servers list
//-----------------------------------------------------------------------------
class CBlacklistedServers : public vgui::PropertyPage
{
DECLARE_CLASS_SIMPLE( CBlacklistedServers, vgui::PropertyPage );
public:
CBlacklistedServers(vgui::Panel *parent);
~CBlacklistedServers();
// blacklist list, loads/saves from file
void LoadBlacklistedList();
void SaveBlacklistedList();
void AddServer(gameserveritem_t &server);
virtual void ApplySchemeSettings(vgui::IScheme *pScheme);
// passed from main server browser window instead of messages
void OnConnectToGame();
void OnDisconnectFromGame( void );
blacklisted_server_t *GetBlacklistedServer( int iServerID );
bool IsServerBlacklisted(gameserveritem_t &server);
private:
// context menu message handlers
MESSAGE_FUNC( OnPageShow, "PageShow" );
MESSAGE_FUNC_INT( OnOpenContextMenu, "OpenContextMenu", itemID );
MESSAGE_FUNC( OnAddServerByName, "AddServerByName" );
MESSAGE_FUNC( OnRemoveFromBlacklist, "RemoveFromBlacklist" );
MESSAGE_FUNC_CHARPTR( OnFileSelected, "FileSelected", fullpath );
void ClearServerList( void );
void OnAddCurrentServer( void );
void OnImportBlacklist( void );
void OnCommand(const char *command);
void UpdateBlacklistUI( blacklisted_server_t *blackServer );
int GetSelectedServerID( void );
bool AddServersFromFile( const char *pszFilename, bool bResetTimes );
private:
vgui::Button *m_pAddServer;
vgui::Button *m_pAddCurrentServer;
vgui::ListPanel *m_pGameList;
vgui::DHANDLE< vgui::FileOpenDialog > m_hImportDialog;
CBlacklistedServerManager m_blackList;
time_t m_blackListTimestamp;
2020-04-22 16:56:21 +00:00
};
#endif // BLACKLISTEDSERVERS_H