Switch ClientPrefs off KTrie (bug 5884 part 15, r=ds).
This commit is contained in:
parent
bc51c3e5b1
commit
8e99b342a4
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* vim: set ts=4 :
|
* vim: set ts=4 sw=4 tw=99 noet :
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
* SourceMod
|
* SourceMod
|
||||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* vim: set ts=4 :
|
* vim: set ts=4 sw=4 tw=99 noet :
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
* SourceMod
|
* SourceMod
|
||||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||||
|
@ -67,12 +67,10 @@ void CookieManager::Unload()
|
|||||||
|
|
||||||
Cookie *CookieManager::FindCookie(const char *name)
|
Cookie *CookieManager::FindCookie(const char *name)
|
||||||
{
|
{
|
||||||
Cookie **pCookie = cookieTrie.retrieve(name);
|
Cookie *cookie;
|
||||||
|
if (!cookieFinder.retrieve(name, &cookie))
|
||||||
if (pCookie == NULL)
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
return cookie;
|
||||||
return *pCookie;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Cookie *CookieManager::CreateCookie(const char *name, const char *description, CookieAccess access)
|
Cookie *CookieManager::CreateCookie(const char *name, const char *description, CookieAccess access)
|
||||||
@ -96,7 +94,7 @@ Cookie *CookieManager::CreateCookie(const char *name, const char *description, C
|
|||||||
TQueryOp *op = new TQueryOp(Query_InsertCookie, pCookie);
|
TQueryOp *op = new TQueryOp(Query_InsertCookie, pCookie);
|
||||||
op->m_params.cookie = pCookie;
|
op->m_params.cookie = pCookie;
|
||||||
|
|
||||||
cookieTrie.insert(name, pCookie);
|
cookieFinder.insert(name, pCookie);
|
||||||
cookieList.push_back(pCookie);
|
cookieList.push_back(pCookie);
|
||||||
|
|
||||||
g_ClientPrefs.AddQueryToQueue(op);
|
g_ClientPrefs.AddQueryToQueue(op);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* vim: set ts=4 :
|
* vim: set ts=4 sw=4 tw=99 noet :
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
* SourceMod Client Preferences Extension
|
* SourceMod Client Preferences Extension
|
||||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||||
@ -34,8 +34,7 @@
|
|||||||
|
|
||||||
#include "extension.h"
|
#include "extension.h"
|
||||||
#include "sh_list.h"
|
#include "sh_list.h"
|
||||||
#include "sm_trie_tpl.h"
|
#include <sm_namehashset.h>
|
||||||
|
|
||||||
|
|
||||||
#define MAX_NAME_LENGTH 30
|
#define MAX_NAME_LENGTH 30
|
||||||
#define MAX_DESC_LENGTH 255
|
#define MAX_DESC_LENGTH 255
|
||||||
@ -92,6 +91,11 @@ struct Cookie
|
|||||||
int dbid;
|
int dbid;
|
||||||
CookieData *data[MAXCLIENTS+1];
|
CookieData *data[MAXCLIENTS+1];
|
||||||
CookieAccess access;
|
CookieAccess access;
|
||||||
|
|
||||||
|
static inline bool matches(const char *name, const Cookie *cookie)
|
||||||
|
{
|
||||||
|
return strcmp(name, cookie->name) == 0;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class CookieManager : public IClientListener, public IPluginsListener
|
class CookieManager : public IClientListener, public IPluginsListener
|
||||||
@ -128,7 +132,7 @@ public:
|
|||||||
IBaseMenu *clientMenu;
|
IBaseMenu *clientMenu;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
KTrie<Cookie *> cookieTrie;
|
NameHashSet<Cookie *> cookieFinder;
|
||||||
SourceHook::List<CookieData *> clientData[MAXCLIENTS+1];
|
SourceHook::List<CookieData *> clientData[MAXCLIENTS+1];
|
||||||
|
|
||||||
bool connected[MAXCLIENTS+1];
|
bool connected[MAXCLIENTS+1];
|
||||||
|
Loading…
Reference in New Issue
Block a user