diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/diimage.cpp | 29 | ||||
-rw-r--r-- | src/emu/diimage.h | 17 |
2 files changed, 36 insertions, 10 deletions
diff --git a/src/emu/diimage.cpp b/src/emu/diimage.cpp index 52ad80910f5..d978bb5b73c 100644 --- a/src/emu/diimage.cpp +++ b/src/emu/diimage.cpp @@ -8,6 +8,7 @@ ***************************************************************************/ +#include <regex> #include "emu.h" #include "emuopts.h" #include "drivenum.h" @@ -44,6 +45,34 @@ const image_device_type_info device_image_interface::m_device_info_array[] = //************************************************************************** +// IMAGE DEVICE FORMAT +//************************************************************************** + +//------------------------------------------------- +// ctor +//------------------------------------------------- + +image_device_format::image_device_format(const std::string &name, const std::string &description, const std::string &extensions, const std::string &optspec) + : m_name(name), m_description(description), m_optspec(optspec) +{ + std::regex comma_regex("\\,"); + std::copy( + std::sregex_token_iterator(extensions.begin(), extensions.end(), comma_regex, -1), + std::sregex_token_iterator(), + std::back_inserter(m_extensions)); +} + + +//------------------------------------------------- +// dtor +//------------------------------------------------- + +image_device_format::~image_device_format() +{ +} + + +//************************************************************************** // DEVICE IMAGE INTERFACE //************************************************************************** diff --git a/src/emu/diimage.h b/src/emu/diimage.h index 92d87fc6b87..f1d3ba94dff 100644 --- a/src/emu/diimage.h +++ b/src/emu/diimage.h @@ -72,22 +72,19 @@ struct image_device_type_info class image_device_format { public: - image_device_format(const char *name, const char *description, const char *extensions, const char *optspec) - : m_name(name), - m_description(description), - m_extensions(extensions), - m_optspec(optspec) { } + image_device_format(const std::string &name, const std::string &description, const std::string &extensions, const std::string &optspec); + ~image_device_format(); const std::string &name() const { return m_name; } const std::string &description() const { return m_description; } - const std::string &extensions() const { return m_extensions; } + const std::vector<std::string> &extensions() const { return m_extensions; } const std::string &optspec() const { return m_optspec; } private: - std::string m_name; - std::string m_description; - std::string m_extensions; - std::string m_optspec; + std::string m_name; + std::string m_description; + std::vector<std::string> m_extensions; + std::string m_optspec; }; |