summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/diagnostics/diagnostics_module.h
blob: 5e92178d4923f28912b34e3847481b2fdcc6d164 (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
42
// license:BSD-3-Clause
// copyright-holders:Brad Hughes
/***************************************************************************

diagnostics_module.h

Diagnostics module interface

***************************************************************************/
#ifndef DIAGNOSTICS_MODULE_H_
#define DIAGNOSTICS_MODULE_H_

#include "osdepend.h"

//============================================================
//  CONSTANTS
//============================================================

class diagnostics_module
{
public:
	diagnostics_module() { }

	virtual ~diagnostics_module() { }

	// initializes crash diagnostics for MAME
	virtual int init_crash_diagnostics() = 0;

	// starts the profiler
	virtual void start_profiler(std::uint32_t max_seconds, std::uint8_t stack_depth) = 0;
	
	// stops the currently active profiler
	virtual void stop_profiler() = 0;

	// prints the results of the profiling operation
	virtual void print_profiler_results() = 0;

	// Gets the instance of the diagnostic module
	static diagnostics_module* get_instance();
};

#endif