From 3bf9df6b2785fa6d951086978a3e66f49427166a Mon Sep 17 00:00:00 2001 From: FluorescentCIAAfricanAmerican <0934gj3049fk@protonmail.com> Date: Wed, 22 Apr 2020 12:56:21 -0400 Subject: 1 --- engine/networkstringtablecontainerserver.h | 70 ++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 engine/networkstringtablecontainerserver.h (limited to 'engine/networkstringtablecontainerserver.h') diff --git a/engine/networkstringtablecontainerserver.h b/engine/networkstringtablecontainerserver.h new file mode 100644 index 0000000..7f21546 --- /dev/null +++ b/engine/networkstringtablecontainerserver.h @@ -0,0 +1,70 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef NETWORKSTRINGTABLECONTAINERSERVER_H +#define NETWORKSTRINGTABLECONTAINERSERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "inetworkstringtableserver.h" +#include "utlvector.h" +#include "bitbuf.h" + +class CNetworkStringTableServer; +class client_t; +class bf_write_t; + +//----------------------------------------------------------------------------- +// Purpose: Implements game .dll string table interface +//----------------------------------------------------------------------------- +class CNetworkStringTableContainerServer : public INetworkStringTableServer +{ +public: + // Contstruction + CNetworkStringTableContainerServer( void ); + ~CNetworkStringTableContainerServer( void ); + + // Implement INetworkStringTableServer + virtual TABLEID CreateStringTable( const char *tableName, int maxentries ); + virtual int GetNumStrings( TABLEID stringTable ); + virtual int GetMaxStrings( TABLEID stringTable ); + + virtual int AddString( TABLEID stringTable, const char *value, int length = 0, const void *userdata = 0 ); + virtual void SetString( TABLEID stringTable, int stringNumber, const char *value ); + virtual void SetStringUserData( TABLEID stringTable, int stringNumber, int length = 0, const void *userdata = 0 ); + virtual const char *GetString( TABLEID stringTable, int stringNumber ); + virtual const void *GetStringUserData( TABLEID stringTable, int stringNumber, int *length = 0 ); + + virtual int FindStringIndex( TABLEID stringTable, char const *string ); + + virtual const char *GetTableName( TABLEID stringTable ); + + // Table accessors + TABLEID FindTable( const char *tableName ); + CNetworkStringTableServer *GetTable( TABLEID stringTable ); + + // Delete all tables + void RemoveAllTables( void ); + + // Guards so game .dll can't create tables at the wrong time + void AllowCreation( void ); + void DisallowCreation( void ); + + // Print table data to console + void Dump( void ); + +private: + // Guard + bool m_bAllowCreation; + + CUtlVector < CNetworkStringTableServer * > m_Tables; +}; + +extern CNetworkStringTableContainerServer *networkStringTableContainerServer; + +#endif // NETWORKSTRINGTABLECONTAINERSERVER_H -- cgit v1.2.3