dvander@1028: #include "ADTFactory.h" dvander@1028: #include "sm_globals.h" dvander@1028: #include "ShareSys.h" dvander@1028: dvander@1028: ADTFactory g_AdtFactory; dvander@1028: dvander@1028: const char *ADTFactory::GetInterfaceName() dvander@1028: { dvander@1028: return SMINTERFACE_ADTFACTORY_NAME; dvander@1028: } dvander@1028: dvander@1028: unsigned int ADTFactory::GetInterfaceVersion() dvander@1028: { dvander@1028: return SMINTERFACE_ADTFACTORY_VERSION; dvander@1028: } dvander@1028: dvander@1028: void ADTFactory::OnSourceModAllInitialized() dvander@1028: { dvander@1028: g_ShareSys.AddInterface(NULL, this); dvander@1028: } dvander@1028: dvander@1028: IBasicTrie *ADTFactory::CreateBasicTrie() dvander@1028: { dvander@1028: return new BaseTrie(); dvander@1028: } dvander@1028: dvander@1028: BaseTrie::BaseTrie() dvander@1028: { dvander@1028: m_pTrie = sm_trie_create(); dvander@1028: } dvander@1028: dvander@1028: BaseTrie::~BaseTrie() dvander@1028: { dvander@1028: sm_trie_destroy(m_pTrie); dvander@1028: } dvander@1028: dvander@1028: bool BaseTrie::Insert(const char *key, void *value) dvander@1028: { dvander@1028: return sm_trie_insert(m_pTrie, key, value); dvander@1028: } dvander@1028: dvander@1028: bool BaseTrie::Retrieve(const char *key, void **value) dvander@1028: { dvander@1028: return sm_trie_retrieve(m_pTrie, key, value); dvander@1028: } dvander@1028: dvander@1028: bool BaseTrie::Delete(const char *key) dvander@1028: { dvander@1028: return sm_trie_delete(m_pTrie, key); dvander@1028: } dvander@1028: dvander@1028: void BaseTrie::Clear() dvander@1028: { dvander@1028: sm_trie_clear(m_pTrie); dvander@1028: } dvander@1028: dvander@1028: void BaseTrie::Destroy() dvander@1028: { dvander@1028: delete this; dvander@1028: }