summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emuopts.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/emuopts.h')
-rw-r--r--src/emu/emuopts.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/emu/emuopts.h b/src/emu/emuopts.h
index 31c49210e50..0de3d158ff2 100644
--- a/src/emu/emuopts.h
+++ b/src/emu/emuopts.h
@@ -198,8 +198,13 @@
class slot_option
{
public:
- slot_option(std::string &&value = "", std::string &&bios = "")
- : m_value(std::move(value)), m_bios(std::move(bios))
+ slot_option()
+ : slot_option("", "", true)
+ {
+ }
+
+ slot_option(std::string &&value, std::string &&bios, bool selectable)
+ : m_value(std::move(value)), m_bios(std::move(bios)), m_selectable(selectable)
{
}
slot_option(const slot_option &that) = default;
@@ -219,15 +224,18 @@ public:
const std::string &bios() const { return m_bios; }
const std::string &default_card_software() const { return m_default_card_software; }
bool is_default() const { return m_value.empty(); }
+ bool is_selectable() const { return m_selectable; }
// seters
void set_bios(std::string &&s) { m_bios = std::move(s); }
void set_default_card_software(std::string &&s) { m_default_card_software = std::move(s); }
+ void set_is_selectable(bool selectable) { m_selectable = selectable; }
private:
std::string m_value;
std::string m_bios;
std::string m_default_card_software;
+ bool m_selectable;
};
@@ -427,8 +435,12 @@ public:
std::map<std::string, std::string> &image_options() { return m_image_options; }
const std::map<std::string, std::string> &image_options() const { return m_image_options; }
+ static slot_option parse_slot_option(std::string &&text, bool selectable);
+
protected:
virtual void value_changed(const std::string &name, const std::string &value) override;
+ virtual bool override_get_value(const char *name, std::string &value) const override;
+ virtual bool override_set_value(const char *name, const std::string &value) override;
private:
static const options_entry s_option_entries[];