summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/info.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/info.h')
-rw-r--r--src/frontend/mame/info.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/frontend/mame/info.h b/src/frontend/mame/info.h
new file mode 100644
index 00000000000..78082ec033b
--- /dev/null
+++ b/src/frontend/mame/info.h
@@ -0,0 +1,68 @@
+// license:BSD-3-Clause
+// copyright-holders:Aaron Giles
+/***************************************************************************
+
+ info.h
+
+ Dumps the MAME internal data as an XML file.
+
+***************************************************************************/
+
+#pragma once
+
+#ifndef __INFO_H__
+#define __INFO_H__
+
+#include "drivenum.h"
+
+
+//**************************************************************************
+// FUNCTION PROTOTYPES
+//**************************************************************************
+
+// helper class to putput
+class info_xml_creator
+{
+public:
+ // construction/destruction
+ info_xml_creator(driver_enumerator &drivlist);
+
+ // output
+ void output(FILE *out, bool nodevices = false);
+
+private:
+ // internal helper
+ void output_one();
+ void output_sampleof();
+ void output_bios();
+ void output_rom(device_t &device);
+ void output_device_roms();
+ void output_sample(device_t &device);
+ void output_chips(device_t &device, const char *root_tag);
+ void output_display(device_t &device, const char *root_tag);
+ void output_sound(device_t &device);
+ void output_input(const ioport_list &portlist);
+ void output_switches(const ioport_list &portlist, const char *root_tag, int type, const char *outertag, const char *innertag);
+ void output_ports(const ioport_list &portlist);
+ void output_adjusters(const ioport_list &portlist);
+ void output_driver();
+ void output_images(device_t &device, const char *root_tag);
+ void output_slots(device_t &device, const char *root_tag);
+ void output_software_list();
+ void output_ramoptions();
+
+ void output_one_device(device_t &device, const char *devtag);
+ void output_devices();
+
+ const char *get_merge_name(const hash_collection &romhashes);
+
+ // internal state
+ FILE * m_output;
+ driver_enumerator & m_drivlist;
+ emu_options m_lookup_options;
+
+ static const char s_dtd_string[];
+};
+
+
+#endif /* __INFO_H__ */