view LightClone/Source/GuiEventMap.cpp @ 63:44dcff5abf12

Work on ServiceProvider
author koryspansel
date Tue, 04 Oct 2011 12:04:09 -0700
parents b4dc5d674e22
children 8e7ebab350e7
line wrap: on
line source

/*
 * GuiEventMap
 */

#include "GuiEventMap.h"

/* 
 * GuiEventMap
 */
GuiEventMap::GuiEventMap()
{
}

/*
 * Fire
 */
void GuiEventMap::Fire(const char* pName, GuiEventArguments& kArguments)
{
	GuiEvent* pEvent = GetEvent(pName);
	if(pEvent)
	{
		pEvent->Fire(kArguments);
	}
}

/*
 * GetEvent
 */
GuiEvent* GuiEventMap::GetEvent(const char* pName, bool bAdd)
{
	GuiEvent** pEvent = kMap.Find(FixedString<>(pName));
	if(!pEvent)
	{
		if(bAdd)
		{
			pEvent = kMap.Add(FixedString<>(pName));
			if(pEvent)
			{
				*pEvent = new GuiEvent(pName);
			}
		}
	}

	return pEvent ? *pEvent : NULL;
}