Ensure all sessions have a sessionId and are subscribed.

Simplify constructors, and factor out subscription code.

Change-Id: I4f3ed1eb06abec193d6db1f7c78815ffe1e1b5aa
This commit is contained in:
Jérémie Lesage
2018-06-21 15:32:53 +02:00
committed by Michael Meeks
parent 46b4c62139
commit f084ea53f6
2 changed files with 24 additions and 15 deletions

View File

@ -23,8 +23,10 @@ class Admin;
class AdminSocketHandler : public WebSocketHandler
{
public:
/// Client connection to remote amdin socket
AdminSocketHandler(Admin* adminManager);
/// Connection from remote admin socket
AdminSocketHandler(Admin* adminManager,
const std::weak_ptr<StreamSocket>& socket,
const Poco::Net::HTTPRequest& request);
@ -34,6 +36,8 @@ public:
static bool handleInitialRequest(const std::weak_ptr<StreamSocket> &socket,
const Poco::Net::HTTPRequest& request);
static void subscribeAsync(const std::shared_ptr<AdminSocketHandler> handler);
private:
/// Sends text frames simply to authenticated clients.
void sendTextFrame(const std::string& message);