2020-03-30 01:44:20 +02:00
|
|
|
/*
|
|
|
|
* NimBLEAddress.h
|
|
|
|
*
|
|
|
|
* Created: on Jan 24 2020
|
|
|
|
* Author H2zero
|
2020-05-14 06:03:56 +02:00
|
|
|
*
|
2020-03-30 01:44:20 +02:00
|
|
|
* Originally:
|
|
|
|
*
|
|
|
|
* BLEAddress.h
|
|
|
|
*
|
|
|
|
* Created on: Jul 2, 2017
|
|
|
|
* Author: kolban
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef COMPONENTS_NIMBLEADDRESS_H_
|
|
|
|
#define COMPONENTS_NIMBLEADDRESS_H_
|
|
|
|
#include "sdkconfig.h"
|
|
|
|
#if defined(CONFIG_BT_ENABLED)
|
|
|
|
|
|
|
|
#include "nimble/ble.h"
|
|
|
|
/**** FIX COMPILATION ****/
|
|
|
|
#undef min
|
|
|
|
#undef max
|
|
|
|
/**************************/
|
|
|
|
|
|
|
|
#include <string>
|
2020-05-18 18:11:54 +02:00
|
|
|
#include <algorithm>
|
2020-03-30 01:44:20 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief A %BLE device address.
|
|
|
|
*
|
|
|
|
* Every %BLE device has a unique address which can be used to identify it and form connections.
|
|
|
|
*/
|
|
|
|
class NimBLEAddress {
|
|
|
|
public:
|
2020-09-02 22:52:34 +02:00
|
|
|
NimBLEAddress();
|
2020-03-30 01:44:20 +02:00
|
|
|
NimBLEAddress(ble_addr_t address);
|
2020-07-30 22:57:47 +02:00
|
|
|
NimBLEAddress(uint8_t address[6], uint8_t type = BLE_ADDR_PUBLIC);
|
|
|
|
NimBLEAddress(const std::string &stringAddress, uint8_t type = BLE_ADDR_PUBLIC);
|
|
|
|
NimBLEAddress(const uint64_t &address, uint8_t type = BLE_ADDR_PUBLIC);
|
|
|
|
bool equals(const NimBLEAddress &otherAddress) const;
|
|
|
|
const uint8_t* getNative() const;
|
|
|
|
std::string toString() const;
|
|
|
|
uint8_t getType() const;
|
2020-05-10 15:21:46 +02:00
|
|
|
|
2020-05-14 06:03:56 +02:00
|
|
|
bool operator ==(const NimBLEAddress & rhs) const;
|
|
|
|
bool operator !=(const NimBLEAddress & rhs) const;
|
|
|
|
operator std::string() const;
|
2020-06-19 20:32:57 +02:00
|
|
|
operator uint64_t() const;
|
2020-03-30 01:44:20 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
uint8_t m_address[6];
|
2020-07-30 22:57:47 +02:00
|
|
|
uint8_t m_addrType;
|
2020-03-30 01:44:20 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* CONFIG_BT_ENABLED */
|
|
|
|
#endif /* COMPONENTS_NIMBLEADDRESS_H_ */
|