summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/image.h
blob: 32b8035d14d2c8d021b6206eee01049de6461d0b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// license:BSD-3-Clause
// copyright-holders:Nathan Woods, Miodrag Milanovic
/***************************************************************************

    image.h

    Core image interface functions and definitions.

***************************************************************************/

#pragma once

#ifndef __IMAGE_H__
#define __IMAGE_H__

// ======================> image_manager

class image_manager
{
public:
	// construction/destruction
	image_manager(running_machine &machine);

	void unload_all();
	void postdevice_init();
	std::string &mandatory_scan(std::string &mandatory);

	// getters
	running_machine &machine() const { return m_machine; }
private:
	void config_load(config_type cfg_type, xml_data_node *parentnode);
	void config_save(config_type cfg_type, xml_data_node *parentnode);

	void options_extract();
	int write_config(emu_options &options, const char *filename, const game_driver *gamedrv);

	// internal state
	running_machine &   m_machine;                  // reference to our machine
};

#endif /* __IMAGE_H__ */