summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/webengine.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2013-08-22 14:30:33 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2013-08-22 14:30:33 +0000
commit6c7d00c958981658d07138a394d2f2647e72da4d (patch)
treeba774314abe12279e514dadcc7ed93138c0226d6 /src/emu/webengine.c
parenteb3686dc33417ea6b3938d650172c18204dbbb9c (diff)
some 5 min slider work, to make it affect settings (nw)
Diffstat (limited to 'src/emu/webengine.c')
-rw-r--r--src/emu/webengine.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/emu/webengine.c b/src/emu/webengine.c
index 5b456311772..292eb6b0dfc 100644
--- a/src/emu/webengine.c
+++ b/src/emu/webengine.c
@@ -195,6 +195,40 @@ int web_engine::begin_request_handler(struct mg_connection *conn)
// the client, and mongoose should not send client any more data.
return 1;
}
+ else if (!strncmp(request_info->uri, "/slider",7))
+ {
+ char cmd_id[64];
+ char cmd_val[64];
+ get_qsvar(request_info, "id", cmd_id, sizeof(cmd_id));
+ get_qsvar(request_info, "val", cmd_val, sizeof(cmd_val));
+ int cnt = 0;
+ int id = atoi(cmd_id);
+ const slider_state *curslider;
+ for (curslider = ui_get_slider_list(); curslider != NULL; curslider = curslider->next)
+ {
+ if (cnt==id)
+ (*curslider->update)(machine(), curslider->arg, NULL, atoi(cmd_val));
+ cnt++;
+ }
+ for (curslider = (slider_state*)machine().osd().get_slider_list(); curslider != NULL; curslider = curslider->next)
+ {
+ if (cnt==id)
+ (*curslider->update)(machine(), curslider->arg, NULL, atoi(cmd_val));
+ cnt++;
+ }
+
+ // Send HTTP reply to the client
+ mg_printf(conn,
+ "HTTP/1.1 200 OK\r\n"
+ "Content-Type: text/plain\r\n"
+ "Content-Length: 2\r\n" // Always set Content-Length
+ "\r\n"
+ "OK");
+
+ // Returning non-zero tells mongoose that our function has replied to
+ // the client, and mongoose should not send client any more data.
+ return 1;
+ }
else if (!strncmp(request_info->uri, "/screenshot.png",15))
{
screen_device_iterator iter(m_machine->root_device());