simplersble 0.14.1-dev63

The all-in-one Bluetooth library that makes it easy to add wireless connectivity to your projects.
Documentation
#pragma once

#include <kvn/kvn_bytearray.h>
#include <kvn/kvn_safe_callback.hpp>
#include <string>

namespace SimpleBLE {
namespace Dongl {
namespace USB {

class UsbHelperImpl {
  public:
    UsbHelperImpl(const std::string& device_path) : _device_path(device_path) {}
    virtual ~UsbHelperImpl() = default;

    virtual void tx(const kvn::bytearray& data) = 0;
    virtual void set_rx_callback(std::function<void(const kvn::bytearray&)> callback) = 0;

    static const uint16_t DONGL_VENDOR_ID = 0x3918;
    static const uint16_t DONGL_PRODUCT_ID = 0x0001;

  protected:
    std::string _device_path;
    kvn::safe_callback<void(const kvn::bytearray&)> _rx_callback;
};

}  // namespace USB
}  // namespace Dongl
}  // namespace SimpleBLE