summaryrefslogtreecommitdiff
path: root/tracker/AdminServer/AdminServer.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /tracker/AdminServer/AdminServer.h
downloadarchived-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.h69
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