| author | Borja Ferrer <faluco@alliedmods.net> |
| Thu Jul 05 14:47:36 2007 +0000 (2007-07-05) | |
| changeset 1041 | f7b2073013df |
| parent 1028 | ec73814041b4 |
| child 1057 | de136462a416 |
| permissions | -rw-r--r-- |
| dvander@1028 | 1 |
#include "ADTFactory.h" |
| dvander@1028 | 2 |
#include "sm_globals.h" |
| dvander@1028 | 3 |
#include "ShareSys.h" |
| dvander@1028 | 4 |
|
| dvander@1028 | 5 |
ADTFactory g_AdtFactory; |
| dvander@1028 | 6 |
|
| dvander@1028 | 7 |
const char *ADTFactory::GetInterfaceName() |
| dvander@1028 | 8 |
{ |
| dvander@1028 | 9 |
return SMINTERFACE_ADTFACTORY_NAME; |
| dvander@1028 | 10 |
} |
| dvander@1028 | 11 |
|
| dvander@1028 | 12 |
unsigned int ADTFactory::GetInterfaceVersion() |
| dvander@1028 | 13 |
{ |
| dvander@1028 | 14 |
return SMINTERFACE_ADTFACTORY_VERSION; |
| dvander@1028 | 15 |
} |
| dvander@1028 | 16 |
|
| dvander@1028 | 17 |
void ADTFactory::OnSourceModAllInitialized() |
| dvander@1028 | 18 |
{ |
| dvander@1028 | 19 |
g_ShareSys.AddInterface(NULL, this); |
| dvander@1028 | 20 |
} |
| dvander@1028 | 21 |
|
| dvander@1028 | 22 |
IBasicTrie *ADTFactory::CreateBasicTrie() |
| dvander@1028 | 23 |
{ |
| dvander@1028 | 24 |
return new BaseTrie(); |
| dvander@1028 | 25 |
} |
| dvander@1028 | 26 |
|
| dvander@1028 | 27 |
BaseTrie::BaseTrie() |
| dvander@1028 | 28 |
{ |
| dvander@1028 | 29 |
m_pTrie = sm_trie_create(); |
| dvander@1028 | 30 |
} |
| dvander@1028 | 31 |
|
| dvander@1028 | 32 |
BaseTrie::~BaseTrie() |
| dvander@1028 | 33 |
{ |
| dvander@1028 | 34 |
sm_trie_destroy(m_pTrie); |
| dvander@1028 | 35 |
} |
| dvander@1028 | 36 |
|
| dvander@1028 | 37 |
bool BaseTrie::Insert(const char *key, void *value) |
| dvander@1028 | 38 |
{ |
| dvander@1028 | 39 |
return sm_trie_insert(m_pTrie, key, value); |
| dvander@1028 | 40 |
} |
| dvander@1028 | 41 |
|
| dvander@1028 | 42 |
bool BaseTrie::Retrieve(const char *key, void **value) |
| dvander@1028 | 43 |
{ |
| dvander@1028 | 44 |
return sm_trie_retrieve(m_pTrie, key, value); |
| dvander@1028 | 45 |
} |
| dvander@1028 | 46 |
|
| dvander@1028 | 47 |
bool BaseTrie::Delete(const char *key) |
| dvander@1028 | 48 |
{ |
| dvander@1028 | 49 |
return sm_trie_delete(m_pTrie, key); |
| dvander@1028 | 50 |
} |
| dvander@1028 | 51 |
|
| dvander@1028 | 52 |
void BaseTrie::Clear() |
| dvander@1028 | 53 |
{ |
| dvander@1028 | 54 |
sm_trie_clear(m_pTrie); |
| dvander@1028 | 55 |
} |
| dvander@1028 | 56 |
|
| dvander@1028 | 57 |
void BaseTrie::Destroy() |
| dvander@1028 | 58 |
{ |
| dvander@1028 | 59 |
delete this; |
| dvander@1028 | 60 |
} |