diff options
author | Alexander Tkachev | 2016-07-06 16:48:56 +0600 |
---|---|---|
committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
commit | 48e3fff6bcea94da5bd46ee2def17eb6bdca716c (patch) | |
tree | 959135f29269c36b3b4c413716e9ab6ebcedc659 /backends/networking/sdl_net/localwebserver.h | |
parent | 627bda9d82c178641e5b5253379c21ce556eb3c2 (diff) | |
download | scummvm-rg350-48e3fff6bcea94da5bd46ee2def17eb6bdca716c.tar.gz scummvm-rg350-48e3fff6bcea94da5bd46ee2def17eb6bdca716c.tar.bz2 scummvm-rg350-48e3fff6bcea94da5bd46ee2def17eb6bdca716c.zip |
CLOUD: Refactor LocalWebserver
Its handlers are now more compact. This commit moves Handler classes in
handlers\ directory.
ResourceHandler ignores "hidden" files in the archive, and these are
used as markup templates in IndexPageHandler and FilesPageHandler.
Diffstat (limited to 'backends/networking/sdl_net/localwebserver.h')
-rw-r--r-- | backends/networking/sdl_net/localwebserver.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/backends/networking/sdl_net/localwebserver.h b/backends/networking/sdl_net/localwebserver.h index f73d1b2850..1d397e6dcc 100644 --- a/backends/networking/sdl_net/localwebserver.h +++ b/backends/networking/sdl_net/localwebserver.h @@ -24,8 +24,10 @@ #define BACKENDS_NETWORKING_SDL_NET_LOCALWEBSERVER_H #include "backends/networking/sdl_net/client.h" -#include "backends/networking/sdl_net/indexpagehandler.h" -#include "common/callback.h" +#include "backends/networking/sdl_net/handlers/basehandler.h" +#include "backends/networking/sdl_net/handlers/filespagehandler.h" +#include "backends/networking/sdl_net/handlers/indexpagehandler.h" +#include "backends/networking/sdl_net/handlers/resourcehandler.h" #include "common/hash-str.h" #include "common/mutex.h" #include "common/singleton.h" @@ -46,8 +48,6 @@ class LocalWebserver : public Common::Singleton<LocalWebserver> { static const uint32 SERVER_PORT = 12345; static const uint32 MAX_CONNECTIONS = 10; - typedef Common::BaseCallback<Client &> *ClientHandler; - friend void localWebserverTimer(void *); //calls handle() SDLNet_SocketSet _set; @@ -55,8 +55,11 @@ class LocalWebserver : public Common::Singleton<LocalWebserver> { Client _client[MAX_CONNECTIONS]; int _clients; bool _timerStarted, _stopOnIdle; - Common::HashMap<Common::String, ClientHandler> _pathHandlers; + Common::HashMap<Common::String, ClientHandlerCallback> _pathHandlers; + ClientHandlerCallback _defaultHandler; IndexPageHandler _indexPageHandler; + FilesPageHandler _filesPageHandler; + ResourceHandler _resourceHandler; uint32 _idlingFrames; Common::Mutex _handleMutex; Common::String _address; @@ -74,7 +77,7 @@ public: void start(); void stop(); void stopOnIdle(); - void addPathHandler(Common::String path, ClientHandler handler); + void addPathHandler(Common::String path, ClientHandlerCallback handler); void removePathHandler(Common::String path); Common::String getAddress(); |