#pragma once
#include <myapp/rcon/connection.h>
#include <functional>
#include <memory>
#include <string>

namespace myapp::rcon {

class peer_provider
{
public:
    virtual ~peer_provider() = default;
    virtual void server(std::string endpoint) = 0;
    virtual void client(std::string endpoint) = 0;
    virtual void on_callback(std::function<void(std::unique_ptr<connection>)>) = 0;
    virtual void on_error(std::function<void(std::string)>) = 0;
};

} /* namespace myapp::rcon */
