core/ADTFactory.h
author David Anderson <dvander@alliedmods.net>
Tue Jul 03 20:46:17 2007 +0000 (2007-07-03)
changeset 1036 2a073d5b3454
parent 1028 ec73814041b4
child 1057 de136462a416
permissions -rw-r--r--
added amb505
dvander@1028
     1
#include <IADTFactory.h>
dvander@1028
     2
#include "sm_globals.h"
dvander@1028
     3
#include "sm_trie.h"
dvander@1028
     4
dvander@1028
     5
using namespace SourceMod;
dvander@1028
     6
dvander@1028
     7
class BaseTrie : public IBasicTrie
dvander@1028
     8
{
dvander@1028
     9
public:
dvander@1028
    10
	BaseTrie();
dvander@1028
    11
	virtual ~BaseTrie();
dvander@1028
    12
	virtual bool Insert(const char *key, void *value);
dvander@1028
    13
	virtual bool Retrieve(const char *key, void **value);
dvander@1028
    14
	virtual bool Delete(const char *key);
dvander@1028
    15
	virtual void Clear();
dvander@1028
    16
	virtual void Destroy();
dvander@1028
    17
private:
dvander@1028
    18
	Trie *m_pTrie;
dvander@1028
    19
};
dvander@1028
    20
dvander@1028
    21
class ADTFactory : 
dvander@1028
    22
	public SMGlobalClass,
dvander@1028
    23
	public IADTFactory
dvander@1028
    24
{
dvander@1028
    25
public: //SMInterface
dvander@1028
    26
	const char *GetInterfaceName();
dvander@1028
    27
	unsigned int GetInterfaceVersion();
dvander@1028
    28
public: //SMGlobalClass
dvander@1028
    29
	void OnSourceModAllInitialized();
dvander@1028
    30
public: //IADTFactory
dvander@1028
    31
	IBasicTrie *CreateBasicTrie();
dvander@1028
    32
};
dvander@1028
    33