updated bazelproject file

This commit is contained in:
Lasan Mahaliyana
2026-03-06 21:20:59 +05:30
parent 87e04e96fa
commit e94ab9d555
2 changed files with 31 additions and 47 deletions
+6 -9
View File
@@ -1,17 +1,14 @@
directories: directories:
. internal/platform/implementation/linux
-bazel-* internal/platform/implementation/windows
internal/platform/implementation/apple
sharing
connections
presence
targets:
//internal/platform/implementation/linux/test:all
//internal/platform/implementation/linux:all
//internal/platform/implementation/windows:all
derive_targets_from_directories: true derive_targets_from_directories: true
additional_languages:
c++
# Ensure external dependencies are indexed # Ensure external dependencies are indexed
build_flags: build_flags:
--keep_going --keep_going
@@ -146,7 +146,7 @@ BleV2Medium::BleV2Medium(BluetoothAdapter &adapter)
} }
//async api //async api
// this doesn't run. wonder why // runs with nearby presence
std::unique_ptr<api::ble::BleMedium::AdvertisingSession> std::unique_ptr<api::ble::BleMedium::AdvertisingSession>
BleV2Medium::StartAdvertising( BleV2Medium::StartAdvertising(
const api::ble::BleAdvertisementData &advertising_data, const api::ble::BleAdvertisementData &advertising_data,
@@ -164,10 +164,6 @@ BleV2Medium::StartAdvertising(
return nullptr; return nullptr;
} }
std::shared_ptr<sdbus::IProxy> proxy =
sdbus::createProxy(*system_bus_, "org.bluez", adapter_.GetObjectPath());
proxy->finishRegistration();
std::shared_ptr<AdvertisingCallback> shared_cb = std::shared_ptr<AdvertisingCallback> shared_cb =
std::make_shared<AdvertisingCallback>(std::move(callback)); std::make_shared<AdvertisingCallback>(std::move(callback));
@@ -176,39 +172,30 @@ BleV2Medium::StartAdvertising(
*system_bus_, advertising_data, advertise_set_parameters)); *system_bus_, advertising_data, advertise_set_parameters));
auto adv_it = advs_.begin(); auto adv_it = advs_.begin();
auto pending_call = // Keep async API surface, but register using the same typed DBus path as the
proxy->callMethodAsync("RegisterAdvertisement") // working sync implementation to avoid signature mismatch (oa{sv} vs sa{sv}).
.onInterface(org::bluez::LEAdvertisingManager1_proxy::INTERFACE_NAME) try {
.withArguments((*adv_it)->getObjectPath(), adv_manager_->RegisterAdvertisement((*adv_it)->getObjectPath(), {});
std::map<std::string, sdbus::Variant>{}) shared_cb->start_advertising_result(absl::OkStatus());
.uponReplyInvoke( } catch (const sdbus::Error &e) {
[this, proxy, shared_cb, adv_it](const sdbus::Error *error) { advs_.erase(adv_it);
if (error != nullptr && error->isValid()) { DBUS_LOG_METHOD_CALL_ERROR(adv_manager_, "RegisterAdvertisement", e);
{ auto name = e.getName();
absl::MutexLock lock(&advs_mutex_); std::string msg = e.getMessage();
advs_.erase(adv_it); absl::Status status;
} if (name == "org.bluez.Error.InvalidArguments" ||
DBUS_LOG_METHOD_CALL_ERROR(adv_manager_, name == "org.bluez.Error.InvalidLength") {
"RegisterAdvertisement", *error); status = absl::InvalidArgumentError(msg);
auto name = error->getName(); } else if (name == "org.bluez.Error.AlreadyExists") {
std::string msg = error->getMessage(); status = absl::AlreadyExistsError(msg);
absl::Status status; } else if (name == "org.bluez.Error.NotPermitted") {
status = absl::ResourceExhaustedError(msg);
if (name == "org.bluez.Error.InvalidArguments" || } else {
name == "org.bluez.Error.InvalidLength") { status = absl::UnknownError(msg);
status = absl::InvalidArgumentError(msg); }
} else if (name == "org.bluez.Error.AlreadyExists") { shared_cb->start_advertising_result(std::move(status));
status = absl::AlreadyExistsError(msg); return nullptr;
} else if (name == "org.bluez.Error.NotPermitted") { }
status = absl::ResourceExhaustedError(msg);
} else {
status = absl::UnknownError(msg);
}
shared_cb->start_advertising_result(std::move(status));
} else {
shared_cb->start_advertising_result(absl::OkStatus());
}
});
absl::AnyInvocable<absl::Status()> stop_adv = [&, adv_it]() { absl::AnyInvocable<absl::Status()> stop_adv = [&, adv_it]() {
LOG(INFO) << __func__ << ": Unregistering advertisement object " LOG(INFO) << __func__ << ": Unregistering advertisement object "