summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-04-20 09:50:13 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2016-04-20 09:50:13 +0200
commit8318d85597ec51a31a8106f2692de8e9d4d7e136 (patch)
treeb790fef1ddd5153e174634114d8906fb1755b560
parent2ee3949169642c0dfe4f1ef3e9c6892862251e56 (diff)
Isolate CLI part (nw)
-rw-r--r--scripts/src/emu.lua2
-rw-r--r--src/emu/clifront.cpp82
-rw-r--r--src/emu/clifront.h6
-rw-r--r--src/emu/cliopts.cpp63
-rw-r--r--src/emu/cliopts.h67
-rw-r--r--src/emu/ui/custui.cpp1
-rw-r--r--src/emu/ui/dirmenu.cpp1
-rw-r--r--src/osd/modules/lib/osdobj_common.cpp2
-rw-r--r--src/osd/modules/lib/osdobj_common.h4
-rw-r--r--src/osd/osdepend.h1
10 files changed, 86 insertions, 143 deletions
diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua
index 61563970d1b..b0dc5eee8d6 100644
--- a/scripts/src/emu.lua
+++ b/scripts/src/emu.lua
@@ -67,8 +67,6 @@ files {
MAME_DIR .. "src/emu/cheat.h",
MAME_DIR .. "src/emu/clifront.cpp",
MAME_DIR .. "src/emu/clifront.h",
- MAME_DIR .. "src/emu/cliopts.cpp",
- MAME_DIR .. "src/emu/cliopts.h",
MAME_DIR .. "src/emu/config.cpp",
MAME_DIR .. "src/emu/config.h",
MAME_DIR .. "src/emu/crsshair.cpp",
diff --git a/src/emu/clifront.cpp b/src/emu/clifront.cpp
index 20fff1557b4..835573f2f41 100644
--- a/src/emu/clifront.cpp
+++ b/src/emu/clifront.cpp
@@ -17,7 +17,6 @@
#include "unzip.h"
#include "validity.h"
#include "sound/samples.h"
-#include "cliopts.h"
#include "clifront.h"
#include "xmlfile.h"
@@ -32,6 +31,80 @@
#include <ctype.h>
+//**************************************************************************
+// CONSTANTS
+//**************************************************************************
+
+// core commands
+#define CLICOMMAND_HELP "help"
+#define CLICOMMAND_VALIDATE "validate"
+
+// configuration commands
+#define CLICOMMAND_CREATECONFIG "createconfig"
+#define CLICOMMAND_SHOWCONFIG "showconfig"
+#define CLICOMMAND_SHOWUSAGE "showusage"
+
+// frontend commands
+#define CLICOMMAND_LISTXML "listxml"
+#define CLICOMMAND_LISTFULL "listfull"
+#define CLICOMMAND_LISTSOURCE "listsource"
+#define CLICOMMAND_LISTCLONES "listclones"
+#define CLICOMMAND_LISTBROTHERS "listbrothers"
+#define CLICOMMAND_LISTCRC "listcrc"
+#define CLICOMMAND_LISTROMS "listroms"
+#define CLICOMMAND_LISTSAMPLES "listsamples"
+#define CLICOMMAND_VERIFYROMS "verifyroms"
+#define CLICOMMAND_VERIFYSAMPLES "verifysamples"
+#define CLICOMMAND_ROMIDENT "romident"
+#define CLICOMMAND_LISTDEVICES "listdevices"
+#define CLICOMMAND_LISTSLOTS "listslots"
+#define CLICOMMAND_LISTMEDIA "listmedia" // needed by MESS
+#define CLICOMMAND_LISTSOFTWARE "listsoftware"
+#define CLICOMMAND_VERIFYSOFTWARE "verifysoftware"
+#define CLICOMMAND_GETSOFTLIST "getsoftlist"
+#define CLICOMMAND_VERIFYSOFTLIST "verifysoftlist"
+
+
+//**************************************************************************
+// COMMAND-LINE OPTIONS
+//**************************************************************************
+
+static const options_entry cli_option_entries[] =
+{
+ /* core commands */
+ { nullptr, nullptr, OPTION_HEADER, "CORE COMMANDS" },
+ { CLICOMMAND_HELP ";h;?", "0", OPTION_COMMAND, "show help message" },
+ { CLICOMMAND_VALIDATE ";valid", "0", OPTION_COMMAND, "perform driver validation on all game drivers" },
+
+ /* configuration commands */
+ { nullptr, nullptr, OPTION_HEADER, "CONFIGURATION COMMANDS" },
+ { CLICOMMAND_CREATECONFIG ";cc", "0", OPTION_COMMAND, "create the default configuration file" },
+ { CLICOMMAND_SHOWCONFIG ";sc", "0", OPTION_COMMAND, "display running parameters" },
+ { CLICOMMAND_SHOWUSAGE ";su", "0", OPTION_COMMAND, "show this help" },
+
+ /* frontend commands */
+ { nullptr, nullptr, OPTION_HEADER, "FRONTEND COMMANDS" },
+ { CLICOMMAND_LISTXML ";lx", "0", OPTION_COMMAND, "all available info on driver in XML format" },
+ { CLICOMMAND_LISTFULL ";ll", "0", OPTION_COMMAND, "short name, full name" },
+ { CLICOMMAND_LISTSOURCE ";ls", "0", OPTION_COMMAND, "driver sourcefile" },
+ { CLICOMMAND_LISTCLONES ";lc", "0", OPTION_COMMAND, "show clones" },
+ { CLICOMMAND_LISTBROTHERS ";lb", "0", OPTION_COMMAND, "show \"brothers\", or other drivers from same sourcefile" },
+ { CLICOMMAND_LISTCRC, "0", OPTION_COMMAND, "CRC-32s" },
+ { CLICOMMAND_LISTROMS ";lr", "0", OPTION_COMMAND, "list required roms for a driver" },
+ { CLICOMMAND_LISTSAMPLES, "0", OPTION_COMMAND, "list optional samples for a driver" },
+ { CLICOMMAND_VERIFYROMS, "0", OPTION_COMMAND, "report romsets that have problems" },
+ { CLICOMMAND_VERIFYSAMPLES, "0", OPTION_COMMAND, "report samplesets that have problems" },
+ { CLICOMMAND_ROMIDENT, "0", OPTION_COMMAND, "compare files with known MAME roms" },
+ { CLICOMMAND_LISTDEVICES ";ld", "0", OPTION_COMMAND, "list available devices" },
+ { CLICOMMAND_LISTSLOTS ";lslot", "0", OPTION_COMMAND, "list available slots and slot devices" },
+ { CLICOMMAND_LISTMEDIA ";lm", "0", OPTION_COMMAND, "list available media for the system" },
+ { CLICOMMAND_LISTSOFTWARE ";lsoft", "0", OPTION_COMMAND, "list known software for the system" },
+ { CLICOMMAND_VERIFYSOFTWARE ";vsoft", "0", OPTION_COMMAND, "verify known software for the system" },
+ { CLICOMMAND_GETSOFTLIST ";glist", "0", OPTION_COMMAND, "retrieve software list by name" },
+ { CLICOMMAND_VERIFYSOFTLIST ";vlist", "0", OPTION_COMMAND, "verify software list by name" },
+ { nullptr }
+};
+
// media_identifier class identifies media by hash via a search in
// the driver database
@@ -39,7 +112,7 @@ class media_identifier
{
public:
// construction/destruction
- media_identifier(cli_options &options);
+ media_identifier(emu_options &options);
// getters
int total() const { return m_total; }
@@ -70,11 +143,12 @@ private:
// cli_frontend - constructor
//-------------------------------------------------
-cli_frontend::cli_frontend(cli_options &options, osd_interface &osd)
+cli_frontend::cli_frontend(emu_options &options, osd_interface &osd)
: m_options(options),
m_osd(osd),
m_result(MAMERR_NONE)
{
+ m_options.add_entries(cli_option_entries);
}
@@ -1727,7 +1801,7 @@ void cli_frontend::display_suggestions(const char *gamename)
// media_identifier - constructor
//-------------------------------------------------
-media_identifier::media_identifier(cli_options &options)
+media_identifier::media_identifier(emu_options &options)
: m_drivlist(options),
m_total(0),
m_matches(0),
diff --git a/src/emu/clifront.h b/src/emu/clifront.h
index b38a6361b18..2a7da7fcb78 100644
--- a/src/emu/clifront.h
+++ b/src/emu/clifront.h
@@ -14,7 +14,7 @@
#define __CLIFRONT_H__
#include "emu.h"
-#include "cliopts.h"
+#include "emuopts.h"
// don't include osd_interface in header files
class osd_interface;
@@ -29,7 +29,7 @@ class cli_frontend
{
public:
// construction/destruction
- cli_frontend(cli_options &options, osd_interface &osd);
+ cli_frontend(emu_options &options, osd_interface &osd);
~cli_frontend();
// execute based on the incoming argc/argv
@@ -64,7 +64,7 @@ private:
void output_single_softlist(FILE *out, software_list_device &swlist);
// internal state
- cli_options & m_options;
+ emu_options & m_options;
osd_interface & m_osd;
int m_result;
};
diff --git a/src/emu/cliopts.cpp b/src/emu/cliopts.cpp
deleted file mode 100644
index 48df5cf00d9..00000000000
--- a/src/emu/cliopts.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-/***************************************************************************
-
- cliopts.c
-
-***************************************************************************/
-
-#include "cliopts.h"
-
-//**************************************************************************
-// COMMAND-LINE OPTIONS
-//**************************************************************************
-
-const options_entry cli_options::s_option_entries[] =
-{
- /* core commands */
- { nullptr, nullptr, OPTION_HEADER, "CORE COMMANDS" },
- { CLICOMMAND_HELP ";h;?", "0", OPTION_COMMAND, "show help message" },
- { CLICOMMAND_VALIDATE ";valid", "0", OPTION_COMMAND, "perform driver validation on all game drivers" },
-
- /* configuration commands */
- { nullptr, nullptr, OPTION_HEADER, "CONFIGURATION COMMANDS" },
- { CLICOMMAND_CREATECONFIG ";cc", "0", OPTION_COMMAND, "create the default configuration file" },
- { CLICOMMAND_SHOWCONFIG ";sc", "0", OPTION_COMMAND, "display running parameters" },
- { CLICOMMAND_SHOWUSAGE ";su", "0", OPTION_COMMAND, "show this help" },
-
- /* frontend commands */
- { nullptr, nullptr, OPTION_HEADER, "FRONTEND COMMANDS" },
- { CLICOMMAND_LISTXML ";lx", "0", OPTION_COMMAND, "all available info on driver in XML format" },
- { CLICOMMAND_LISTFULL ";ll", "0", OPTION_COMMAND, "short name, full name" },
- { CLICOMMAND_LISTSOURCE ";ls", "0", OPTION_COMMAND, "driver sourcefile" },
- { CLICOMMAND_LISTCLONES ";lc", "0", OPTION_COMMAND, "show clones" },
- { CLICOMMAND_LISTBROTHERS ";lb", "0", OPTION_COMMAND, "show \"brothers\", or other drivers from same sourcefile" },
- { CLICOMMAND_LISTCRC, "0", OPTION_COMMAND, "CRC-32s" },
- { CLICOMMAND_LISTROMS ";lr", "0", OPTION_COMMAND, "list required roms for a driver" },
- { CLICOMMAND_LISTSAMPLES, "0", OPTION_COMMAND, "list optional samples for a driver" },
- { CLICOMMAND_VERIFYROMS, "0", OPTION_COMMAND, "report romsets that have problems" },
- { CLICOMMAND_VERIFYSAMPLES, "0", OPTION_COMMAND, "report samplesets that have problems" },
- { CLICOMMAND_ROMIDENT, "0", OPTION_COMMAND, "compare files with known MAME roms" },
- { CLICOMMAND_LISTDEVICES ";ld", "0", OPTION_COMMAND, "list available devices" },
- { CLICOMMAND_LISTSLOTS ";lslot", "0", OPTION_COMMAND, "list available slots and slot devices" },
- { CLICOMMAND_LISTMEDIA ";lm", "0", OPTION_COMMAND, "list available media for the system" },
- { CLICOMMAND_LISTSOFTWARE ";lsoft", "0", OPTION_COMMAND, "list known software for the system" },
- { CLICOMMAND_VERIFYSOFTWARE ";vsoft", "0", OPTION_COMMAND, "verify known software for the system" },
- { CLICOMMAND_GETSOFTLIST ";glist", "0", OPTION_COMMAND, "retrieve software list by name" },
- { CLICOMMAND_VERIFYSOFTLIST ";vlist", "0", OPTION_COMMAND, "verify software list by name" },
- { nullptr }
-};
-
-//**************************************************************************
-// CLI OPTIONS
-//**************************************************************************
-
-//-------------------------------------------------
-// cli_options - constructor
-//-------------------------------------------------
-
-cli_options::cli_options()
-: emu_options()
-{
- add_entries(cli_options::s_option_entries);
-}
diff --git a/src/emu/cliopts.h b/src/emu/cliopts.h
deleted file mode 100644
index d7a0a938d49..00000000000
--- a/src/emu/cliopts.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-/***************************************************************************
-
- cliopts.h
-
- Command-line interface frontend for MAME.
-
-***************************************************************************/
-
-#pragma once
-
-#ifndef __CLIOPTS_H__
-#define __CLIOPTS_H__
-
-#include "emuopts.h"
-
-//**************************************************************************
-// CONSTANTS
-//**************************************************************************
-
-// core commands
-#define CLICOMMAND_HELP "help"
-#define CLICOMMAND_VALIDATE "validate"
-
-// configuration commands
-#define CLICOMMAND_CREATECONFIG "createconfig"
-#define CLICOMMAND_SHOWCONFIG "showconfig"
-#define CLICOMMAND_SHOWUSAGE "showusage"
-
-// frontend commands
-#define CLICOMMAND_LISTXML "listxml"
-#define CLICOMMAND_LISTFULL "listfull"
-#define CLICOMMAND_LISTSOURCE "listsource"
-#define CLICOMMAND_LISTCLONES "listclones"
-#define CLICOMMAND_LISTBROTHERS "listbrothers"
-#define CLICOMMAND_LISTCRC "listcrc"
-#define CLICOMMAND_LISTROMS "listroms"
-#define CLICOMMAND_LISTSAMPLES "listsamples"
-#define CLICOMMAND_VERIFYROMS "verifyroms"
-#define CLICOMMAND_VERIFYSAMPLES "verifysamples"
-#define CLICOMMAND_ROMIDENT "romident"
-#define CLICOMMAND_LISTDEVICES "listdevices"
-#define CLICOMMAND_LISTSLOTS "listslots"
-#define CLICOMMAND_LISTMEDIA "listmedia" // needed by MESS
-#define CLICOMMAND_LISTSOFTWARE "listsoftware"
-#define CLICOMMAND_VERIFYSOFTWARE "verifysoftware"
-#define CLICOMMAND_GETSOFTLIST "getsoftlist"
-#define CLICOMMAND_VERIFYSOFTLIST "verifysoftlist"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// cli_options wraps the general emu options with CLI-specific additions
-class cli_options : public emu_options
-{
-public:
- // construction/destruction
- cli_options();
-
-private:
- static const options_entry s_option_entries[];
-};
-
-#endif /* __CLIFRONT_H__ */
diff --git a/src/emu/ui/custui.cpp b/src/emu/ui/custui.cpp
index 9b8c81a2de4..f2e86eeeca1 100644
--- a/src/emu/ui/custui.cpp
+++ b/src/emu/ui/custui.cpp
@@ -9,6 +9,7 @@
*********************************************************************/
#include "emu.h"
+#include "emuopts.h"
#include "ui/custui.h"
#include "ui/ui.h"
diff --git a/src/emu/ui/dirmenu.cpp b/src/emu/ui/dirmenu.cpp
index e4a9b693a1c..b84cacc8d62 100644
--- a/src/emu/ui/dirmenu.cpp
+++ b/src/emu/ui/dirmenu.cpp
@@ -9,6 +9,7 @@
*********************************************************************/
#include "emu.h"
+#include "emuopts.h"
#include "ui/ui.h"
#include "ui/menu.h"
#include "ui/dirmenu.h"
diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp
index b6114acb98c..099c5fefb77 100644
--- a/src/osd/modules/lib/osdobj_common.cpp
+++ b/src/osd/modules/lib/osdobj_common.cpp
@@ -154,7 +154,7 @@ const options_entry osd_options::s_option_entries[] =
};
osd_options::osd_options()
-: cli_options()
+: emu_options()
{
add_entries(osd_options::s_option_entries);
}
diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h
index 0d86d412cf9..46049d74fe9 100644
--- a/src/osd/modules/lib/osdobj_common.h
+++ b/src/osd/modules/lib/osdobj_common.h
@@ -23,7 +23,7 @@
#include "modules/netdev/netdev_module.h"
#include "modules/midi/midi_module.h"
#include "modules/output/output_module.h"
-#include "cliopts.h"
+#include "emuopts.h"
class ui_menu_item;
@@ -90,7 +90,7 @@ class ui_menu_item;
// TYPE DEFINITIONS
//============================================================
-class osd_options : public cli_options
+class osd_options : public emu_options
{
public:
// construction/destruction
diff --git a/src/osd/osdepend.h b/src/osd/osdepend.h
index e305aeb958f..0b96cbb1fcc 100644
--- a/src/osd/osdepend.h
+++ b/src/osd/osdepend.h
@@ -16,7 +16,6 @@
#include "emucore.h"
#include "osdcore.h"
#include "unicode.h"
-#include "cliopts.h"
#include "ui/menu.h"
#include <memory>