1 // license:BSD-3-Clause
2 // copyright-holders:Brad Hughes
3 //============================================================
4 //
5 //  input_module.h - OSD input module contracts
6 //
7 //============================================================
8 
9 #ifndef INPUT_MODULE_H_
10 #define INPUT_MODULE_H_
11 
12 #include "osdepend.h"
13 
14 #include "modules/osdmodule.h"
15 
16 
17 class input_module : public osd_module
18 {
19 public:
input_module(const char * type,const char * name)20 	input_module(const char *type, const char *name)
21 		: osd_module(type, name)
22 	{
23 	}
24 
~input_module()25 	virtual ~input_module() { }
26 
27 	virtual void input_init(running_machine &machine) = 0;
28 	virtual void poll_if_necessary(running_machine &machine) = 0;
29 	virtual void pause() = 0;
30 	virtual void resume() = 0;
31 };
32 
33 //============================================================
34 //  CONSTANTS
35 //============================================================
36 
37 #define OSD_KEYBOARDINPUT_PROVIDER   "keyboardprovider"
38 #define OSD_MOUSEINPUT_PROVIDER      "mouseprovider"
39 #define OSD_LIGHTGUNINPUT_PROVIDER   "lightgunprovider"
40 #define OSD_JOYSTICKINPUT_PROVIDER   "joystickprovider"
41 
42 #endif /* INPUT_MODULE_H_ */
43