blob: deeb1a99d987ea3a8621812146901ca8054ddabf [file] [log] [blame]
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include "boost_formatters.hpp"
#include <boost/beast/http/write.hpp>
#include <memory>
#include <string_view>
namespace crow
{
namespace sse_socket
{
struct Connection : public std::enable_shared_from_this<Connection>
{
public:
Connection() = default;
Connection(const Connection&) = delete;
Connection(Connection&&) = delete;
Connection& operator=(const Connection&) = delete;
Connection& operator=(const Connection&&) = delete;
virtual ~Connection() = default;
virtual void close(std::string_view msg = "quit") = 0;
virtual void sendSseEvent(std::string_view id, std::string_view msg) = 0;
};
} // namespace sse_socket
} // namespace crow