/*****************************************************************************
 * $Id: mod_base_event.hh,v 1.1 2006/11/25 17:40:06 devel Exp $
 * @file
 * @author	Jim E. Brooks  http://www.jimbrooks.org
 * @brief	Events.
 *//*
 * LEGAL:	COPYRIGHT (C) 2006 JIM E. BROOKS
 *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
 *          OF THE GNU GENERAL PUBLIC LICENSE (GPL).
 *****************************************************************************/

#ifndef MOD_BASE_EVENT_HH
#define MOD_BASE_EVENT_HH 1

////////////////////////////////////////////////////////////////////////////////
/// @brief Module base event nexus.
/// @remarks The base Module broadcasts events out to listener functions in other modules.
/// Using this event mechanism helps make it modular.
///
class ModuleBaseEvents
{
PREVENT_COPYING(ModuleBaseEvents)
public:
	ModuleBaseEvents( void ) { }
	~ModuleBaseEvents() { }
public:
	Event<void>			mPrintStats;
	Event<eJoyButton>	mJoystickButton;
};

// Global.
#if MOD_BASE_CC
       ModuleBaseEvents gModuleBaseEvent;
#else
extern ModuleBaseEvents gModuleBaseEvent;
#endif

#endif // MOD_BASE_EVENT_HH
