diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /tracker/AdminServer/AdminServer.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'tracker/AdminServer/AdminServer.h')
| -rw-r--r-- | tracker/AdminServer/AdminServer.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tracker/AdminServer/AdminServer.h b/tracker/AdminServer/AdminServer.h new file mode 100644 index 0000000..948297b --- /dev/null +++ b/tracker/AdminServer/AdminServer.h @@ -0,0 +1,69 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//============================================================================= + +#ifndef ADMINSERVER_H +#define ADMINSERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "IAdminServer.h" +#include "IVGuiModule.h" + +#include <utlvector.h> + +class CServerPage; + +//----------------------------------------------------------------------------- +// Purpose: Handles the UI and pinging of a half-life game server list +//----------------------------------------------------------------------------- +class CAdminServer : public IAdminServer, public IVGuiModule +{ +public: + CAdminServer(); + ~CAdminServer(); + + // IVGui module implementation + virtual bool Initialize(CreateInterfaceFn *factorylist, int numFactories); + virtual bool PostInitialize(CreateInterfaceFn *modules, int factoryCount); + virtual vgui::VPANEL GetPanel(); + virtual bool Activate(); + virtual bool IsValid(); + virtual void Shutdown(); + virtual void Deactivate(); + virtual void Reactivate(); + virtual void SetParent(vgui::VPANEL parent); + + // IAdminServer implementation + // opens a manage server dialog for a local server + virtual ManageServerUIHandle_t OpenManageServerDialog(const char *serverName, const char *gameDir); + + // opens a manage server dialog to a remote server + virtual ManageServerUIHandle_t OpenManageServerDialog(unsigned int gameIP, unsigned int gamePort, const char *password); + + // forces the game info dialog closed + virtual void CloseManageServerDialog(ManageServerUIHandle_t gameDialog); + + // Gets a handle to the interface + virtual IManageServer *GetManageServerInterface(ManageServerUIHandle_t handle); + +private: + struct OpenedManageDialog_t + { + unsigned long handle; + IManageServer *manageInterface; + }; + CUtlVector<OpenedManageDialog_t> m_OpenedManageDialog; + vgui::VPANEL m_hParent; +}; + + +class IVProfExport; +extern IVProfExport *g_pVProfExport; + + +#endif // AdminServer_H |