mame/src/emu/config.h
Aaron Giles af94c692bb Switch to using delegates for some callbacks:
- non-device timer callbacks
 - machine state changing callbacks
 - configuration callbacks
 - per-screen VBLANK callbacks
 - DRC backend callbacks

For the timer case only, I added wrappers for the old-style functions.
Over time, drivers should switch to device timers instead, reducing the
number of timers that are directly allocated through the scheduler.
2011-04-27 20:34:45 +00:00

62 lines
1.4 KiB
C

/***************************************************************************
config.h
Wrappers for handling MAME configuration files
Copyright Nicola Salmoria and the MAME Team.
Visit http://mamedev.org for licensing and usage restrictions.
***************************************************************************/
#pragma once
#ifndef __CONFIG_H__
#define __CONFIG_H__
#include "xmlfile.h"
/*************************************
*
* Constants
*
*************************************/
#define CONFIG_VERSION 10
enum
{
CONFIG_TYPE_INIT = 0, /* opportunity to initialize things first */
CONFIG_TYPE_CONTROLLER, /* loading from controller file */
CONFIG_TYPE_DEFAULT, /* loading from default.cfg */
CONFIG_TYPE_GAME, /* loading from game.cfg */
CONFIG_TYPE_FINAL /* opportunity to finish initialization */
};
/*************************************
*
* Type definitions
*
*************************************/
typedef delegate<void (int, xml_data_node *)> config_saveload_delegate;
/*************************************
*
* Function prototypes
*
*************************************/
void config_init(running_machine &machine);
void config_register(running_machine &machine, const char *nodename, config_saveload_delegate load, config_saveload_delegate save);
int config_load_settings(running_machine &machine);
void config_save_settings(running_machine &machine);
#endif /* __CONFIG_H__ */