diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2006-11-16 02:53:44 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2006-11-16 02:53:44 +0000 |
commit | 7b8b0ff49192007d791038cda2d3f44f004ff169 (patch) | |
tree | 6515041a44eb261160763a53cbdefd71a125d794 /apps/plugins/lib/pluginlib_actions.c | |
parent | 407284818411f82419679d39686f5402596f3725 (diff) | |
download | rockbox-7b8b0ff49192007d791038cda2d3f44f004ff169.tar.gz rockbox-7b8b0ff49192007d791038cda2d3f44f004ff169.zip |
implement actions in the plugins, bubbles and metronome converted.
(hopefully buttons are correct, let me know in
http://forums.rockbox.org/index.php?topic=5829.0 if there is a major
stuff up)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11535 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib/pluginlib_actions.c')
-rw-r--r-- | apps/plugins/lib/pluginlib_actions.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c new file mode 100644 index 0000000000..312eb61ea6 --- /dev/null +++ b/apps/plugins/lib/pluginlib_actions.c | |||
@@ -0,0 +1,46 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 Jonathan Gordon | ||
11 | * | ||
12 | * | ||
13 | * All files in this archive are subject to the GNU General Public License. | ||
14 | * See the file COPYING in the source tree root for full license agreement. | ||
15 | * | ||
16 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
17 | * KIND, either express or implied. | ||
18 | * | ||
19 | ****************************************************************************/ | ||
20 | |||
21 | #include "plugin.h" | ||
22 | #include "action.h" | ||
23 | #include "pluginlib_actions.h" | ||
24 | |||
25 | static struct button_mapping **plugin_context_order; | ||
26 | static int plugin_context_count = 0; | ||
27 | static int last_context = 0; /* index into plugin_context_order | ||
28 | of the last context returned */ | ||
29 | |||
30 | const struct button_mapping* get_context_map(int context) | ||
31 | { | ||
32 | (void)context; | ||
33 | if (last_context<plugin_context_count) | ||
34 | return plugin_context_order[last_context++]; | ||
35 | else return NULL; | ||
36 | } | ||
37 | |||
38 | int pluginlib_getaction(struct plugin_api *api,int timeout, | ||
39 | const struct button_mapping *plugin_contexts[], | ||
40 | int count) | ||
41 | { | ||
42 | plugin_context_order = (struct button_mapping **)plugin_contexts; | ||
43 | plugin_context_count = count; | ||
44 | last_context = 0; | ||
45 | return api->get_custom_action(CONTEXT_CUSTOM,timeout,get_context_map); | ||
46 | } | ||