simplersble 0.11.0-dev24

The all-in-one Bluetooth library that makes it easy to add wireless connectivity to your projects.
Documentation
#include <simplebluez/custom/Advertisement.h>

using namespace SimpleBluez;

Advertisement::Advertisement(std::shared_ptr<SimpleDBus::Connection> conn, const std::string& bus_name, const std::string& path)
    : Proxy(conn, bus_name, path) {
}

void Advertisement::on_registration() {
    _interfaces.emplace(std::make_pair(
        "org.bluez.LEAdvertisement1", std::static_pointer_cast<SimpleDBus::Interface>(std::make_shared<LEAdvertisement1>(_conn, shared_from_this()))));

    _interfaces.emplace(std::make_pair(
        "org.freedesktop.DBus.ObjectManager", std::static_pointer_cast<SimpleDBus::Interface>(std::make_shared<SimpleDBus::Interfaces::ObjectManager>(_conn, shared_from_this()))));

    le_advertisement1()->OnRelease.load([this]() {
        _active.store(false);
    });
}

std::shared_ptr<LEAdvertisement1> Advertisement::le_advertisement1() {
    return std::dynamic_pointer_cast<LEAdvertisement1>(interface_get("org.bluez.LEAdvertisement1"));
}

std::shared_ptr<SimpleDBus::Interfaces::ObjectManager> Advertisement::object_manager() {
    return std::dynamic_pointer_cast<SimpleDBus::Interfaces::ObjectManager>(interface_get("org.freedesktop.DBus.ObjectManager"));
}

bool Advertisement::active() {
    return _active.load();
}

void Advertisement::activate() {
    _active.store(true);
}

void Advertisement::deactivate() {
    _active.store(false);
}


std::string Advertisement::adv_type() {
    return le_advertisement1()->Type();
}

void Advertisement::adv_type(const std::string& type) {
    le_advertisement1()->Type(type);
}

std::vector<std::string> Advertisement::service_uuids() {
    return le_advertisement1()->ServiceUUIDs();
}

void Advertisement::service_uuids(const std::vector<std::string>& service_uuids) {
    le_advertisement1()->ServiceUUIDs(service_uuids);
}

std::map<uint16_t, ByteArray> Advertisement::manufacturer_data() {
    return le_advertisement1()->ManufacturerData();
}

void Advertisement::manufacturer_data(const std::map<uint16_t, ByteArray>& manufacturer_data) {
    le_advertisement1()->ManufacturerData(manufacturer_data);
}

std::map<std::string, ByteArray> Advertisement::service_data() {
    return le_advertisement1()->ServiceData();
}

void Advertisement::service_data(const std::map<std::string, ByteArray>& service_data) {
    le_advertisement1()->ServiceData(service_data);
}

std::vector<std::string> Advertisement::solicit_uuids() {
    return le_advertisement1()->SolicitUUIDs();
}

void Advertisement::solicit_uuids(const std::vector<std::string>& solicit_uuids) {
    le_advertisement1()->SolicitUUIDs(solicit_uuids);
}

std::map<uint8_t, ByteArray> Advertisement::data() {
    return le_advertisement1()->Data();
}

void Advertisement::data(const std::map<uint8_t, ByteArray>& data) {
    le_advertisement1()->Data(data);
}

bool Advertisement::discoverable() {
    return le_advertisement1()->Discoverable();
}

void Advertisement::discoverable(bool discoverable) {
    le_advertisement1()->Discoverable(discoverable);
}

uint16_t Advertisement::discoverable_timeout() {
    return le_advertisement1()->DiscoverableTimeout();
}

void Advertisement::discoverable_timeout(uint16_t timeout) {
    le_advertisement1()->DiscoverableTimeout(timeout);
}

std::vector<std::string> Advertisement::includes() {
    return le_advertisement1()->Includes();
}

void Advertisement::includes(const std::vector<std::string>& includes) {
    le_advertisement1()->Includes(includes);
}

std::string Advertisement::local_name() {
    return le_advertisement1()->LocalName();
}

void Advertisement::local_name(const std::string& name) {
    le_advertisement1()->LocalName(name);
}

uint16_t Advertisement::appearance() {
    return le_advertisement1()->Appearance();
}

void Advertisement::appearance(uint16_t appearance) {
    le_advertisement1()->Appearance(appearance);
}

uint16_t Advertisement::duration() {
    return le_advertisement1()->Duration();
}

void Advertisement::duration(uint16_t duration) {
    le_advertisement1()->Duration(duration);
}

uint16_t Advertisement::timeout() {
    return le_advertisement1()->Timeout();
}

void Advertisement::timeout(uint16_t timeout) {
    le_advertisement1()->Timeout(timeout);
}

std::string Advertisement::secondary_channel() {
    return le_advertisement1()->SecondaryChannel();
}

void Advertisement::secondary_channel(const std::string& channel) {
    le_advertisement1()->SecondaryChannel(channel);
}

uint32_t Advertisement::min_interval() {
    return le_advertisement1()->MinInterval();
}

void Advertisement::min_interval(uint32_t interval) {
    le_advertisement1()->MinInterval(interval);
}

uint32_t Advertisement::max_interval() {
    return le_advertisement1()->MaxInterval();
}

void Advertisement::max_interval(uint32_t interval) {
    le_advertisement1()->MaxInterval(interval);
}

int16_t Advertisement::tx_power() {
    return le_advertisement1()->TxPower();
}

void Advertisement::tx_power(int16_t power) {
    le_advertisement1()->TxPower(power);
}

bool Advertisement::include_tx_power() {
    return le_advertisement1()->IncludeTxPower();
}

void Advertisement::include_tx_power(bool include) {
    le_advertisement1()->IncludeTxPower(include);
}