reduce boilerplate code

This commit is contained in:
Glenn Maynard
2006-12-17 07:00:30 +00:00
parent f55345ad84
commit d4f43cf844
3 changed files with 3 additions and 6 deletions
+1 -2
View File
@@ -24,8 +24,7 @@ struct RegisterDialogDriver
RegisterDialogDriver( const istring &sName, CreateDialogDriverFn pfn );
};
#define REGISTER_DIALOG_DRIVER_CLASS( name ) \
static DialogDriver *Create##name() { return new DialogDriver_##name; } \
static RegisterDialogDriver register_##name( #name, Create##name )
static RegisterDialogDriver register_##name( #name, CreateClass<DialogDriver_##name, DialogDriver> )
#endif
@@ -75,8 +75,7 @@ struct RegisterInputHandler
RegisterInputHandler( const istring &sName, CreateInputHandlerFn pfn );
};
#define REGISTER_INPUT_HANDLER_CLASS2( name, x ) \
static InputHandler *Create##name() { return new InputHandler_##x; } \
static RegisterInputHandler register_##name( #name, Create##name )
static RegisterInputHandler register_##name( #name, CreateClass<InputHandler_##x, InputHandler> )
#define REGISTER_INPUT_HANDLER_CLASS( name ) REGISTER_INPUT_HANDLER_CLASS2( name, name )
+1 -2
View File
@@ -58,8 +58,7 @@ struct RegisterSoundDriver
};
// Can't use Create##name because many of these have -sw suffixes.
#define REGISTER_SOUND_DRIVER_CLASS2( name, x ) \
static RageSoundDriver *Create##x() { return new RageSoundDriver_##x; } \
static RegisterSoundDriver register_##x( #name, Create##x )
static RegisterSoundDriver register_##x( #name, CreateClass<RageSoundDriver_##x, RageSoundDriver> )
#define REGISTER_SOUND_DRIVER_CLASS( name ) REGISTER_SOUND_DRIVER_CLASS2( name, name )