#pragma once

#include <vector>
#include <stdint.h>

namespace mqtt_dataio
{
    class publisher_basic
    {
    public:
        explicit publisher_basic() = default;
        virtual ~publisher_basic() = default;
    };

    class subscriber_basic
    {
    public:
        using DataBuffer = std::vector<uint8_t>;

        explicit subscriber_basic() = default;
        virtual ~subscriber_basic() = default;
        virtual void on_message_arrival(const DataBuffer &) = 0;
    };
} // namespace mqtt_dataio
