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.
70 lines
2.3 KiB
70 lines
2.3 KiB
//========= 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
|
|
|