use a namespace instead of a singleton

This commit is contained in:
Glenn Maynard
2006-02-24 01:09:13 +00:00
parent 724292d68e
commit 77a9377ef2
2 changed files with 8 additions and 15 deletions
+5 -3
View File
@@ -2,6 +2,7 @@
#include "ScreenMessage.h"
#include "RageLog.h"
#include "Foreach.h"
#include <map>
const ScreenMessage SM_Invalid = 999999;
AutoScreenMessage(SM_None);
@@ -16,9 +17,10 @@ AutoScreenMessage(SM_Pause);
AutoScreenMessage(SM_Success);
AutoScreenMessage(SM_Failure);
ASMHClass AutoScreenMessageHandler;
static map<RString, ScreenMessage> *m_pScreenMessages;
static ScreenMessage m_iCurScreenMessage;
ScreenMessage ASMHClass::ToMessageNumber( const RString &sName )
ScreenMessage ScreenMessageHelpers::ToMessageNumber( const RString &sName )
{
if( m_pScreenMessages == NULL )
{
@@ -35,7 +37,7 @@ ScreenMessage ASMHClass::ToMessageNumber( const RString &sName )
return (*m_pScreenMessages)[sName];
}
RString ASMHClass::NumberToString( ScreenMessage SM ) const
RString ScreenMessageHelpers::NumberToString( ScreenMessage SM )
{
FOREACHM( RString, ScreenMessage, *m_pScreenMessages, it )
if( SM == it->second )
+3 -12
View File
@@ -3,8 +3,6 @@
#ifndef SCREEN_MESSAGE_H
#define SCREEN_MESSAGE_H
#include <map>
typedef int ScreenMessage;
extern const ScreenMessage SM_Invalid;
@@ -20,22 +18,15 @@ extern const ScreenMessage SM_Pause;
extern const ScreenMessage SM_Success;
extern const ScreenMessage SM_Failure;
class ASMHClass
namespace ScreenMessageHelpers
{
public:
ScreenMessage ToMessageNumber( const RString & Name );
RString NumberToString( ScreenMessage SM ) const;
private:
map<RString, ScreenMessage> *m_pScreenMessages;
ScreenMessage m_iCurScreenMessage;
RString NumberToString( ScreenMessage SM );
};
extern ASMHClass AutoScreenMessageHandler;
// Automatically generate a unique ScreenMessage value
#define AutoScreenMessage( x ) \
const ScreenMessage x = AutoScreenMessageHandler.ToMessageNumber( #x );
const ScreenMessage x = ScreenMessageHelpers::ToMessageNumber( #x );
#endif