mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
BluetoothClassicMedium::GetRemoteDevice and BluetoothClassicSocket::Close implmentations
PiperOrigin-RevId: 390691122
This commit is contained in:
committed by
Copybara-Service
parent
628255ac59
commit
913a639a5d
@@ -21,7 +21,6 @@
|
||||
#include "platform/base/exception.h"
|
||||
#include "platform/base/input_stream.h"
|
||||
#include "platform/base/output_stream.h"
|
||||
|
||||
#include "platform/impl/windows/generated/winrt/Windows.Devices.Bluetooth.h"
|
||||
#include "platform/impl/windows/generated/winrt/Windows.Devices.Enumeration.h"
|
||||
#include "platform/impl/windows/generated/winrt/base.h"
|
||||
@@ -51,6 +50,8 @@ using winrt::Windows::Devices::Bluetooth::BluetoothCacheMode;
|
||||
// https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html.
|
||||
class BluetoothDevice : public api::BluetoothDevice {
|
||||
public:
|
||||
BluetoothDevice(std::string mac_address)
|
||||
: windows_bluetooth_device_(nullptr), mac_address_(mac_address) {}
|
||||
BluetoothDevice(const winrt::Windows::Devices::Bluetooth::BluetoothDevice&
|
||||
bluetoothDevice);
|
||||
|
||||
|
||||
@@ -44,11 +44,6 @@ BluetoothClassicMedium::BluetoothClassicMedium() {
|
||||
|
||||
BluetoothClassicMedium::~BluetoothClassicMedium() {}
|
||||
|
||||
// TODO(b/184975123): replace with real implementation.
|
||||
api::BluetoothDevice* GetRemoteDevice(const std::string& mac_address) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool BluetoothClassicMedium::StartDiscovery(
|
||||
BluetoothClassicMedium::DiscoveryCallback discovery_callback) {
|
||||
EnterCriticalSection(&critical_section_);
|
||||
@@ -148,7 +143,7 @@ std::unique_ptr<api::BluetoothSocket> BluetoothClassicMedium::ConnectToService(
|
||||
EnterCriticalSection(&critical_section_);
|
||||
|
||||
std::unique_ptr<BluetoothSocket> rfcommSocket =
|
||||
std::make_unique<BluetoothSocket>();
|
||||
std::make_unique<BluetoothSocket>(nullptr);
|
||||
|
||||
location::nearby::CancellationFlagListener cancellationFlagListener(
|
||||
cancellation_flag,
|
||||
@@ -263,10 +258,9 @@ BluetoothClassicMedium::ListenForService(const std::string& service_name,
|
||||
return std::move(bluetooth_server_socket);
|
||||
}
|
||||
|
||||
// TODO(b/184975123): replace with real implementation.
|
||||
api::BluetoothDevice* BluetoothClassicMedium::GetRemoteDevice(
|
||||
const std::string& mac_address) {
|
||||
return nullptr;
|
||||
return new BluetoothDevice(mac_address);
|
||||
}
|
||||
|
||||
bool BluetoothClassicMedium::StartScanning() {
|
||||
|
||||
@@ -45,8 +45,16 @@ OutputStream& BluetoothSocket::GetOutputStream() {
|
||||
// Closes both input and output streams, marks Socket as closed.
|
||||
// After this call object should be treated as not connected.
|
||||
// Returns Exception::kIo on error, Exception::kSuccess otherwise.
|
||||
// TODO(b/184975123): replace with real implementation.
|
||||
Exception BluetoothSocket::Close() { return Exception(); }
|
||||
Exception BluetoothSocket::Close() {
|
||||
// The Close method aborts any pending operations and releases all unmanaged
|
||||
// resources associated with the StreamSocket object, including the Input and
|
||||
// Output streams
|
||||
windows_socket_.Close();
|
||||
windows_socket_ = nullptr;
|
||||
input_stream_ = nullptr;
|
||||
output_stream_ = nullptr;
|
||||
return {Exception::kSuccess};
|
||||
}
|
||||
|
||||
// https://developer.android.com/reference/android/bluetooth/BluetoothSocket.html#getRemoteDevice()
|
||||
// Returns valid BluetoothDevice pointer if there is a connection, and
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#define PLATFORM_IMPL_WINDOWS_BLUETOOTH_CLASSIC_SOCKET_H_
|
||||
|
||||
#include "platform/api/bluetooth_classic.h"
|
||||
|
||||
#include "platform/impl/windows/bluetooth_classic_device.h"
|
||||
#include "platform/impl/windows/generated/winrt/Windows.Foundation.h"
|
||||
#include "platform/impl/windows/generated/winrt/Windows.Networking.Sockets.h"
|
||||
#include "platform/impl/windows/generated/winrt/Windows.Storage.Streams.h"
|
||||
|
||||
Reference in New Issue
Block a user