diff options
Diffstat (limited to 'docs/release/src/frontend/mame/mameopts.h')
-rw-r--r-- | docs/release/src/frontend/mame/mameopts.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/docs/release/src/frontend/mame/mameopts.h b/docs/release/src/frontend/mame/mameopts.h new file mode 100644 index 00000000000..2b178fb2ead --- /dev/null +++ b/docs/release/src/frontend/mame/mameopts.h @@ -0,0 +1,64 @@ +// license:BSD-3-Clause +// copyright-holders:Aaron Giles +/*************************************************************************** + + mameopts.h + + Options file and command line management. + +***************************************************************************/ + +#ifndef MAME_FRONTEND_MAMEOPTS_H +#define MAME_FRONTEND_MAMEOPTS_H + +#pragma once + +#include "emuopts.h" + +//************************************************************************** +// CONSTANTS +//************************************************************************** +#undef OPTION_PRIORITY_CMDLINE + +// option priorities +enum +{ + // command-line options are HIGH priority + OPTION_PRIORITY_SUBCMD = OPTION_PRIORITY_HIGH, + OPTION_PRIORITY_CMDLINE, + + // INI-based options are NORMAL priority, in increasing order: + OPTION_PRIORITY_MAME_INI = OPTION_PRIORITY_NORMAL + 1, + OPTION_PRIORITY_DEBUG_INI, + OPTION_PRIORITY_ORIENTATION_INI, + OPTION_PRIORITY_SYSTYPE_INI, + OPTION_PRIORITY_SCREEN_INI, + OPTION_PRIORITY_SOURCE_INI, + OPTION_PRIORITY_GPARENT_INI, + OPTION_PRIORITY_PARENT_INI, + OPTION_PRIORITY_DRIVER_INI, + OPTION_PRIORITY_INI, +}; + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// forward references +class game_driver; +class software_part; + +class mame_options +{ +public: + // parsing wrappers + static void parse_standard_inis(emu_options &options, std::ostream &error_stream, const game_driver *driver = nullptr); + static const game_driver *system(const emu_options &options); + static void populate_hashpath_from_args_and_inis(emu_options &options, const std::vector<std::string> &args); + +private: + // INI parsing helper + static void parse_one_ini(emu_options &options, const char *basename, int priority, std::ostream *error_stream = nullptr); +}; + +#endif // MAME_FRONTEND_MAMEOPTS_H |