diff options
author | 2013-08-22 14:30:33 +0000 | |
---|---|---|
committer | 2013-08-22 14:30:33 +0000 | |
commit | 6c7d00c958981658d07138a394d2f2647e72da4d (patch) | |
tree | ba774314abe12279e514dadcc7ed93138c0226d6 /src/emu/webengine.c | |
parent | eb3686dc33417ea6b3938d650172c18204dbbb9c (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.c | 34 |
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()); |