32#include <unordered_set>
33#include <unordered_map>
46 if( EUI48Sub::scanEUI48Sub(addrOrNameSub, addr1, errmsg) ) {
62 if( res.length() > 0 ) {
93 PRAGMA_DISABLE_WARNING_PUSH
94 PRAGMA_DISABLE_WARNING_RESTRICT
95 if( res.length() > 0 ) {
98 res.append(
id.toString() );
110 for(; first != last; ++first) {
122 return m(address, name, it);
132 if( m(
id.addressAndType.address,
id.name, q) ) {
Unique Bluetooth EUI48 address and BDAddressType tuple.
Implementation of a dynamic linear array storage, aka vector.
constexpr void push_back(const value_type &x)
Like std::vector::push_back(), copy.
constexpr UnaryFunction for_each(InputIt first, InputIt last, UnaryFunction f)
Like std::for_each() of 'algorithm'.
constexpr InputIt find_if(InputIt first, InputIt last, UnaryPredicate p)
Like std::find_if() of 'algorithm'.
#define PRAGMA_DISABLE_WARNING_POP
Application toolkit providing BT device registration of processed and awaited devices.
void clearProcessedDevices() noexcept
Clears internal list.
std::string getProcessedDevicesString() noexcept
void addToWaitForDevices(const std::string &addrOrNameSub) noexcept
size_t getProcessedDeviceCount() noexcept
void clearWaitForDevices() noexcept
Clears internal list.
std::string getWaitForDevicesString() noexcept
jau::darray< DeviceID > getProcessedDevices() noexcept
Returns a copy of the current collection of processed DeviceID.
bool isDeviceProcessed(const BDAddressAndType &a) noexcept
static std::unordered_set< DeviceID > devicesProcessed
bool areAllDevicesProcessed(DeviceQueryMatchFunc m) noexcept
Returns true if all addToWaitForDevices() awaited devices have been addToProcessedDevices() processed...
bool isWaitingForAnyDevice() noexcept
size_t getWaitForDevicesCount() noexcept
static std::recursive_mutex mtx_devicesProcessed
jau::darray< DeviceQuery > & getWaitForDevices() noexcept
Returns the reference of the current list of DeviceQuery, not a copy.
void addToProcessedDevices(const BDAddressAndType &a, const std::string &n) noexcept
static jau::darray< DeviceQuery > waitForDevices
bool(* DeviceQueryMatchFunc)(const EUI48 &address, const std::string &name, const DeviceQuery &q)
Function for user defined BTDeviceRegistry::DeviceQuery matching criteria and algorithm.
bool isWaitingForDevice(const EUI48 &address, const std::string &name, DeviceQueryMatchFunc m) noexcept
Returns true if the given address and/or name matches any of the BTDeviceRegistry::addToWaitForDevice...
Specifies unique device identities, using BDAddressAndType as key.
Specifies devices queries to act upon.
std::string toString() const
A 48 bit EUI-48 sub-identifier, see EUI48.
void clear()
Method clears the underlying byte array b and sets length to zero.
A packed 48 bit EUI-48 identifier, formerly known as MAC-48 or simply network device MAC address (Med...