1 #ifndef _PLUGIN_H_INCLUDED_
2 #define _PLUGIN_H_INCLUDED_
3 
4 #include <glib.h>
5 
6 #define TYPE_KEY 0
7 #define TYPE_MOUSE 1
8 
9 typedef enum
10 {
11     EVENT_PREV_TRACK = 0,
12     EVENT_PLAY,
13     EVENT_PAUSE,
14     EVENT_STOP,
15     EVENT_NEXT_TRACK,
16 
17     EVENT_FORWARD,
18     EVENT_BACKWARD,
19     EVENT_MUTE,
20     EVENT_VOL_UP,
21     EVENT_VOL_DOWN,
22     EVENT_JUMP_TO_FILE,
23     EVENT_TOGGLE_WIN,
24     EVENT_SHOW_AOSD,
25 
26     EVENT_TOGGLE_REPEAT,
27     EVENT_TOGGLE_SHUFFLE,
28     EVENT_TOGGLE_STOP,
29 
30     EVENT_RAISE,
31 
32     EVENT_MAX
33 } EVENT;
34 
35 typedef struct _HotkeyConfiguration
36 {
37     unsigned key, mask;
38     unsigned type;
39     EVENT event;
40     struct _HotkeyConfiguration * next;
41 } HotkeyConfiguration;
42 
43 typedef struct
44 {
45     /* keyboard */
46     HotkeyConfiguration first;
47 } PluginConfig;
48 
49 void load_config();
50 void save_config();
51 PluginConfig * get_config();
52 gboolean handle_keyevent(EVENT event);
53 
54 #endif
55