From 541f10b010b6f17cac041a866cea3c9473c9b915 Mon Sep 17 00:00:00 2001 From: upstream svn Date: Wed, 7 Oct 2015 20:29:31 +0000 Subject: [PATCH] Fix amuleweb build with Boost.Asio networking --- .svn-revision | 2 +- src/webserver/src/WebServer.cpp | 9 ++++++++- src/webserver/src/WebServer.h | 10 ++++++++-- src/webserver/src/WebSocket.cpp | 2 ++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.svn-revision b/.svn-revision index 7de328e2..ade3a53f 100644 --- a/.svn-revision +++ b/.svn-revision @@ -1 +1 @@ -10879 +10880 diff --git a/src/webserver/src/WebServer.cpp b/src/webserver/src/WebServer.cpp index 0d8bca19..1ad2b800 100644 --- a/src/webserver/src/WebServer.cpp +++ b/src/webserver/src/WebServer.cpp @@ -214,10 +214,12 @@ void CParsedUrl::ConvertParams(std::map &dst) } } +#ifndef ASIO_SOCKETS BEGIN_EVENT_TABLE(CWebServerBase, wxEvtHandler) EVT_SOCKET(ID_WEBLISTENSOCKET_EVENT, CWebServerBase::OnWebSocketServerEvent) EVT_SOCKET(ID_WEBCLIENTSOCKET_EVENT, CWebServerBase::OnWebSocketEvent) END_EVENT_TABLE() +#endif CWebServerBase::CWebServerBase(CamulewebApp *webApp, const wxString& templateDir) : m_ServersInfo(webApp), m_SharedFileInfo(webApp), m_DownloadFileInfo(webApp, &m_ImageLib), @@ -281,8 +283,10 @@ void CWebServerBase::StartServer() addr.Service(webInterface->m_WebserverPort); m_webserver_socket = new CWebLibSocketServer(addr, wxSOCKET_REUSEADDR, this); +#ifndef ASIO_SOCKETS m_webserver_socket->SetEventHandler(*this, ID_WEBLISTENSOCKET_EVENT); m_webserver_socket->SetNotify(wxSOCKET_CONNECTION_FLAG); +#endif m_webserver_socket->Notify(true); if (!m_webserver_socket->IsOk()) { delete m_webserver_socket; @@ -304,10 +308,12 @@ void CWebServerBase::StopServer() #endif } +#ifndef ASIO_SOCKETS void CWebServerBase::OnWebSocketServerEvent(wxSocketEvent& WXUNUSED(event)) { m_webserver_socket->OnAccept(); } +#endif CWebLibSocketServer::CWebLibSocketServer(const class amuleIPV4Address& adr, int flags, CWebServerBase * webServerBase) : CLibSocketServer(adr, flags), @@ -327,6 +333,7 @@ void CWebLibSocketServer::OnAccept() } } +#ifndef ASIO_SOCKETS void CWebServerBase::OnWebSocketEvent(wxSocketEvent& event) { CWebSocket *socket = dynamic_cast(event.GetSocket()); @@ -347,8 +354,8 @@ void CWebServerBase::OnWebSocketEvent(wxSocketEvent& event) wxFAIL; break; } - } +#endif void CScriptWebServer::ProcessImgFileReq(ThreadData Data) { diff --git a/src/webserver/src/WebServer.h b/src/webserver/src/WebServer.h index c8b7702a..94743983 100644 --- a/src/webserver/src/WebServer.h +++ b/src/webserver/src/WebServer.h @@ -27,6 +27,10 @@ #ifndef WEBSERVER_H #define WEBSERVER_H +#ifdef HAVE_CONFIG_H + #include "config.h" // Needed for ASIO_SOCKETS +#endif + #ifdef WITH_LIBPNG #include #endif @@ -676,11 +680,13 @@ struct ThreadData { CWebSocket *pSocket; }; +#ifndef ASIO_SOCKETS enum { // Socket handlers ID_WEBLISTENSOCKET_EVENT = wxID_HIGHEST+123, // random safe ID ID_WEBCLIENTSOCKET_EVENT, }; +#endif #ifdef ENABLE_UPNP class CUPnPControlPoint; @@ -696,7 +702,6 @@ private: CWebServerBase * m_webServerBase; }; - class CWebServerBase : public wxEvtHandler { protected: CWebLibSocketServer *m_webserver_socket; @@ -728,10 +733,11 @@ class CWebServerBase : public wxEvtHandler { CUPnPControlPoint *m_upnp; std::vector m_upnpMappings; #endif - +#ifndef ASIO_SOCKETS void OnWebSocketServerEvent(wxSocketEvent& event); void OnWebSocketEvent(wxSocketEvent& event); DECLARE_EVENT_TABLE(); +#endif public: CWebServerBase(CamulewebApp *webApp, const wxString& templateDir); virtual ~CWebServerBase(); diff --git a/src/webserver/src/WebSocket.cpp b/src/webserver/src/WebSocket.cpp index b206cf06..e53eb5e1 100644 --- a/src/webserver/src/WebSocket.cpp +++ b/src/webserver/src/WebSocket.cpp @@ -47,8 +47,10 @@ CWebSocket::CWebSocket(CWebServerBase *parent) m_pParent = parent; +#ifndef ASIO_SOCKETS SetEventHandler(*parent, ID_WEBCLIENTSOCKET_EVENT); SetNotify(wxSOCKET_INPUT_FLAG | wxSOCKET_OUTPUT_FLAG | wxSOCKET_LOST_FLAG); +#endif Notify(true); } -- 2.11.4.GIT