summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/main.h
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2017-01-04 16:15:57 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2017-01-04 16:15:57 +0100
commit63e3f487751eb096152e6e6bd90d8b47643a496b (patch)
tree3e42b162973ac8153a261c1a1351fbae4b09e748 /src/emu/main.h
parent47c4f47bd40def91566dda49cc378d4ae0d63e37 (diff)
Added initial HTTP/HTTPS webserver/websocket server support (nw)
Diffstat (limited to 'src/emu/main.h')
-rw-r--r--src/emu/main.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/emu/main.h b/src/emu/main.h
index 12f0f1a9462..2ad90a50885 100644
--- a/src/emu/main.h
+++ b/src/emu/main.h
@@ -65,15 +65,23 @@ public:
// ======================> machine_manager
class ui_manager;
+namespace asio
+{
+ class io_context;
+}
+namespace webpp
+{
+ class http_server;
+}
class machine_manager
{
DISABLE_COPYING(machine_manager);
protected:
// construction/destruction
- machine_manager(emu_options &options, osd_interface &osd) : m_osd(osd), m_options(options), m_machine(nullptr) { }
+ machine_manager(emu_options& options, osd_interface& osd);
public:
- virtual ~machine_manager() { }
+ virtual ~machine_manager();
osd_interface &osd() const { return m_osd; }
emu_options &options() const { return m_options; }
@@ -87,10 +95,17 @@ public:
virtual void ui_initialize(running_machine& machine) { }
virtual void update_machine() { }
+
+ void start_http_server();
+ void start_context();
+ webpp::http_server* http_server() const { return m_server.get(); }
protected:
osd_interface & m_osd; // reference to OSD system
emu_options & m_options; // reference to options
running_machine * m_machine;
+ std::shared_ptr<asio::io_context> m_io_context;
+ std::unique_ptr<webpp::http_server> m_server;
+ std::thread m_server_thread;
};