-
Vivien Nicolas authored
* Create a new BleConnectionDelegate interface for BleLayer * Add BlePlatformDelegate, BleApplicationDelegate, BleConnectionDelegate code to src/platform/Darwin The delegates use CoreBluetooth which, unlike Network, is not directly available as C++ headers. As a result the mentioned delegates are implemented using Objective-c++. * Enable BleLayer to be built for standalone-apps * Remove c++11 extension from src/platform/Darwin/CHIPPlatformConfig.h since it is unused and create a warning when using Objective-c++ * Remove conflicting define from src/platform/Darwin/BlePlatformConfig.h that override BLE_CONNECTION_OBJECT default type * Expose BleLayer via a new ConnectivityManager::GetBleLayer method * Add Transport::BLE to src/transport It is a first version that directly use ChipDeviceController for callbacks. Transport::BLE is referenced as a friend class of ChipDeviceController to access some private members that may be better not accessible. Hopefully this dependency will be removed at some point. The current code also uses BleLayer->NewBleConnection which directly creates a BLE_CONNECTION_OBJECT from a given device name. * Add a new ChipDeviceController::ConnectDevice API dedicated for Ble devices The current API takes a name instead of an IP and a Port. Once PeerAddress has a better support of Ble this particular ConnectDevice api and the previous one (which uses IP/port) should likely be removed by a new API that takes a PeerAddress directly. This will obviosuly only be possible if Transport::BLE uses the SessionManager instead of beeing directly instantiated from the ChipDeviceController * Add .m and .mm to the set of compiled files by config/standalone-app.mk * Add 'echo-ble' to the list of commands supported by examples/chip-tool The patch reformats a little bit chip-tool in order to allow other commands that does not rely on IP. * Use the new platform BLE support from the iOS app
Loading