1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/core/ADTFactory.cpp Sat Jun 30 16:43:11 2007 +0000
1.3 @@ -0,0 +1,60 @@
1.4 +#include "ADTFactory.h"
1.5 +#include "sm_globals.h"
1.6 +#include "ShareSys.h"
1.7 +
1.8 +ADTFactory g_AdtFactory;
1.9 +
1.10 +const char *ADTFactory::GetInterfaceName()
1.11 +{
1.12 + return SMINTERFACE_ADTFACTORY_NAME;
1.13 +}
1.14 +
1.15 +unsigned int ADTFactory::GetInterfaceVersion()
1.16 +{
1.17 + return SMINTERFACE_ADTFACTORY_VERSION;
1.18 +}
1.19 +
1.20 +void ADTFactory::OnSourceModAllInitialized()
1.21 +{
1.22 + g_ShareSys.AddInterface(NULL, this);
1.23 +}
1.24 +
1.25 +IBasicTrie *ADTFactory::CreateBasicTrie()
1.26 +{
1.27 + return new BaseTrie();
1.28 +}
1.29 +
1.30 +BaseTrie::BaseTrie()
1.31 +{
1.32 + m_pTrie = sm_trie_create();
1.33 +}
1.34 +
1.35 +BaseTrie::~BaseTrie()
1.36 +{
1.37 + sm_trie_destroy(m_pTrie);
1.38 +}
1.39 +
1.40 +bool BaseTrie::Insert(const char *key, void *value)
1.41 +{
1.42 + return sm_trie_insert(m_pTrie, key, value);
1.43 +}
1.44 +
1.45 +bool BaseTrie::Retrieve(const char *key, void **value)
1.46 +{
1.47 + return sm_trie_retrieve(m_pTrie, key, value);
1.48 +}
1.49 +
1.50 +bool BaseTrie::Delete(const char *key)
1.51 +{
1.52 + return sm_trie_delete(m_pTrie, key);
1.53 +}
1.54 +
1.55 +void BaseTrie::Clear()
1.56 +{
1.57 + sm_trie_clear(m_pTrie);
1.58 +}
1.59 +
1.60 +void BaseTrie::Destroy()
1.61 +{
1.62 + delete this;
1.63 +}