[Linux] Use reinterpret_cast<> for trivial glib casting (#32376)
* Use reinterpret_cast for trivial glib casting
* Replace BLUEZ_OBJECT with reinterpret_cast
* More cast fixes
* Restyled by clang-format
---------
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/src/platform/Linux/bluez/BluezAdvertisement.cpp b/src/platform/Linux/bluez/BluezAdvertisement.cpp
index 06f831b..0fed994 100644
--- a/src/platform/Linux/bluez/BluezAdvertisement.cpp
+++ b/src/platform/Linux/bluez/BluezAdvertisement.cpp
@@ -224,7 +224,7 @@
void BluezAdvertisement::StartDone(GObject * aObject, GAsyncResult * aResult)
{
- BluezLEAdvertisingManager1 * advMgr = BLUEZ_LEADVERTISING_MANAGER1(aObject);
+ auto * advMgr = reinterpret_cast<BluezLEAdvertisingManager1 *>(aObject);
GAutoPtr<GError> error;
gboolean success = FALSE;
@@ -252,7 +252,7 @@
adapterObject = g_dbus_interface_get_object(G_DBUS_INTERFACE(mAdapter.get()));
VerifyOrExit(adapterObject != nullptr, ChipLogError(DeviceLayer, "FAIL: NULL adapterObject in %s", __func__));
- advMgr.reset(bluez_object_get_leadvertising_manager1(BLUEZ_OBJECT(adapterObject)));
+ advMgr.reset(bluez_object_get_leadvertising_manager1(reinterpret_cast<BluezObject *>(adapterObject)));
VerifyOrExit(advMgr.get() != nullptr, ChipLogError(DeviceLayer, "FAIL: NULL advMgr in %s", __func__));
g_variant_builder_init(&optionsBuilder, G_VARIANT_TYPE("a{sv}"));
@@ -282,7 +282,7 @@
void BluezAdvertisement::StopDone(GObject * aObject, GAsyncResult * aResult)
{
- BluezLEAdvertisingManager1 * advMgr = BLUEZ_LEADVERTISING_MANAGER1(aObject);
+ auto * advMgr = reinterpret_cast<BluezLEAdvertisingManager1 *>(aObject);
GAutoPtr<GError> error;
gboolean success = FALSE;
@@ -308,7 +308,7 @@
adapterObject = g_dbus_interface_get_object(G_DBUS_INTERFACE(mAdapter.get()));
VerifyOrExit(adapterObject != nullptr, ChipLogError(DeviceLayer, "FAIL: NULL adapterObject in %s", __func__));
- advMgr.reset(bluez_object_get_leadvertising_manager1(BLUEZ_OBJECT(adapterObject)));
+ advMgr.reset(bluez_object_get_leadvertising_manager1(reinterpret_cast<BluezObject *>(adapterObject)));
VerifyOrExit(advMgr.get() != nullptr, ChipLogError(DeviceLayer, "FAIL: NULL advMgr in %s", __func__));
bluez_leadvertising_manager1_call_unregister_advertisement(
diff --git a/src/platform/Linux/bluez/BluezConnection.cpp b/src/platform/Linux/bluez/BluezConnection.cpp
index d2db5ed..88595bd 100644
--- a/src/platform/Linux/bluez/BluezConnection.cpp
+++ b/src/platform/Linux/bluez/BluezConnection.cpp
@@ -305,9 +305,10 @@
void BluezConnection::SendWriteRequestDone(GObject * aObject, GAsyncResult * aResult, gpointer apConnection)
{
- BluezGattCharacteristic1 * c1 = BLUEZ_GATT_CHARACTERISTIC1(aObject);
+ auto * pC1 = reinterpret_cast<BluezGattCharacteristic1 *>(aObject);
+
GAutoPtr<GError> error;
- gboolean success = bluez_gatt_characteristic1_call_write_value_finish(c1, aResult, &error.GetReceiver());
+ gboolean success = bluez_gatt_characteristic1_call_write_value_finish(pC1, aResult, &error.GetReceiver());
VerifyOrReturn(success == TRUE, ChipLogError(DeviceLayer, "FAIL: SendWriteRequest : %s", error->message));
BLEManagerImpl::HandleWriteComplete(static_cast<BluezConnection *>(apConnection));
@@ -354,9 +355,10 @@
void BluezConnection::SubscribeCharacteristicDone(GObject * aObject, GAsyncResult * aResult, gpointer apConnection)
{
- BluezGattCharacteristic1 * c2 = BLUEZ_GATT_CHARACTERISTIC1(aObject);
+ auto * pC2 = reinterpret_cast<BluezGattCharacteristic1 *>(aObject);
+
GAutoPtr<GError> error;
- gboolean success = bluez_gatt_characteristic1_call_write_value_finish(c2, aResult, &error.GetReceiver());
+ gboolean success = bluez_gatt_characteristic1_call_write_value_finish(pC2, aResult, &error.GetReceiver());
VerifyOrReturn(success == TRUE, ChipLogError(DeviceLayer, "FAIL: SubscribeCharacteristic : %s", error->message));
@@ -365,13 +367,12 @@
CHIP_ERROR BluezConnection::SubscribeCharacteristicImpl(BluezConnection * connection)
{
- BluezGattCharacteristic1 * c2 = nullptr;
- VerifyOrExit(connection->mpC2 != nullptr, ChipLogError(DeviceLayer, "C2 is NULL in %s", __func__));
- c2 = BLUEZ_GATT_CHARACTERISTIC1(connection->mpC2);
+ BluezGattCharacteristic1 * pC2 = connection->mpC2;
+ VerifyOrExit(pC2 != nullptr, ChipLogError(DeviceLayer, "C2 is NULL in %s", __func__));
// Get notifications on the TX characteristic change (e.g. indication is received)
- g_signal_connect(c2, "g-properties-changed", G_CALLBACK(OnCharacteristicChanged), connection);
- bluez_gatt_characteristic1_call_start_notify(connection->mpC2, nullptr, SubscribeCharacteristicDone, connection);
+ g_signal_connect(pC2, "g-properties-changed", G_CALLBACK(OnCharacteristicChanged), connection);
+ bluez_gatt_characteristic1_call_start_notify(pC2, nullptr, SubscribeCharacteristicDone, connection);
exit:
return CHIP_NO_ERROR;
@@ -386,22 +387,24 @@
void BluezConnection::UnsubscribeCharacteristicDone(GObject * aObject, GAsyncResult * aResult, gpointer apConnection)
{
- BluezGattCharacteristic1 * c2 = BLUEZ_GATT_CHARACTERISTIC1(aObject);
+ auto * pC2 = reinterpret_cast<BluezGattCharacteristic1 *>(aObject);
+
GAutoPtr<GError> error;
- gboolean success = bluez_gatt_characteristic1_call_write_value_finish(c2, aResult, &error.GetReceiver());
+ gboolean success = bluez_gatt_characteristic1_call_write_value_finish(pC2, aResult, &error.GetReceiver());
VerifyOrReturn(success == TRUE, ChipLogError(DeviceLayer, "FAIL: UnsubscribeCharacteristic : %s", error->message));
// Stop listening to the TX characteristic changes
- g_signal_handlers_disconnect_by_data(c2, apConnection);
+ g_signal_handlers_disconnect_by_data(pC2, apConnection);
BLEManagerImpl::HandleSubscribeOpComplete(static_cast<BluezConnection *>(apConnection), false);
}
CHIP_ERROR BluezConnection::UnsubscribeCharacteristicImpl(BluezConnection * connection)
{
- VerifyOrExit(connection->mpC2 != nullptr, ChipLogError(DeviceLayer, "C2 is NULL in %s", __func__));
+ BluezGattCharacteristic1 * pC2 = connection->mpC2;
+ VerifyOrExit(pC2 != nullptr, ChipLogError(DeviceLayer, "C2 is NULL in %s", __func__));
- bluez_gatt_characteristic1_call_stop_notify(connection->mpC2, nullptr, UnsubscribeCharacteristicDone, connection);
+ bluez_gatt_characteristic1_call_stop_notify(pC2, nullptr, UnsubscribeCharacteristicDone, connection);
exit:
return CHIP_NO_ERROR;
diff --git a/src/platform/Linux/bluez/BluezEndpoint.cpp b/src/platform/Linux/bluez/BluezEndpoint.cpp
index 2fdd1e1..8d37b13 100644
--- a/src/platform/Linux/bluez/BluezEndpoint.cpp
+++ b/src/platform/Linux/bluez/BluezEndpoint.cpp
@@ -262,9 +262,8 @@
void BluezEndpoint::RegisterGattApplicationDone(GObject * aObject, GAsyncResult * aResult)
{
GAutoPtr<GError> error;
- BluezGattManager1 * gattMgr = BLUEZ_GATT_MANAGER1(aObject);
-
- gboolean success = bluez_gatt_manager1_call_register_application_finish(gattMgr, aResult, &error.GetReceiver());
+ gboolean success = bluez_gatt_manager1_call_register_application_finish(reinterpret_cast<BluezGattManager1 *>(aObject), aResult,
+ &error.GetReceiver());
VerifyOrReturn(success == TRUE, {
ChipLogError(DeviceLayer, "FAIL: RegisterApplication : %s", error->message);
@@ -287,7 +286,7 @@
adapterObject = g_dbus_interface_get_object(G_DBUS_INTERFACE(mAdapter.get()));
VerifyOrExit(adapterObject != nullptr, ChipLogError(DeviceLayer, "FAIL: NULL adapterObject in %s", __func__));
- gattMgr.reset(bluez_object_get_gatt_manager1(BLUEZ_OBJECT(adapterObject)));
+ gattMgr.reset(bluez_object_get_gatt_manager1(reinterpret_cast<BluezObject *>(adapterObject)));
VerifyOrExit(gattMgr.get() != nullptr, ChipLogError(DeviceLayer, "FAIL: NULL gattMgr in %s", __func__));
g_variant_builder_init(&optionsBuilder, G_VARIANT_TYPE("a{sv}"));
@@ -383,7 +382,7 @@
{
// TODO: right now we do not handle addition/removal of adapters
// Primary focus here is to handle addition of a device
- GAutoPtr<BluezDevice1> device(bluez_object_get_device1(BLUEZ_OBJECT(aObject)));
+ GAutoPtr<BluezDevice1> device(bluez_object_get_device1(reinterpret_cast<BluezObject *>(aObject)));
VerifyOrReturn(device.get() != nullptr);
if (BluezIsDeviceOnAdapter(device.get(), mAdapter.get()) == TRUE)
diff --git a/src/platform/Linux/bluez/BluezObjectIterator.h b/src/platform/Linux/bluez/BluezObjectIterator.h
index ae5e01c..0e09cbc 100644
--- a/src/platform/Linux/bluez/BluezObjectIterator.h
+++ b/src/platform/Linux/bluez/BluezObjectIterator.h
@@ -41,8 +41,8 @@
BluezObjectIterator() = default;
explicit BluezObjectIterator(GList * position) : mPosition(position) {}
- reference operator*() const { return *BLUEZ_OBJECT(mPosition->data); }
- pointer operator->() const { return BLUEZ_OBJECT(mPosition->data); }
+ reference operator*() const { return *reinterpret_cast<BluezObject *>(mPosition->data); }
+ pointer operator->() const { return reinterpret_cast<BluezObject *>(mPosition->data); }
bool operator==(const BluezObjectIterator & other) const { return mPosition == other.mPosition; }
bool operator!=(const BluezObjectIterator & other) const { return mPosition != other.mPosition; }
diff --git a/src/platform/Linux/bluez/ChipDeviceScanner.cpp b/src/platform/Linux/bluez/ChipDeviceScanner.cpp
index 0d24805..5523bf8 100644
--- a/src/platform/Linux/bluez/ChipDeviceScanner.cpp
+++ b/src/platform/Linux/bluez/ChipDeviceScanner.cpp
@@ -215,7 +215,7 @@
void ChipDeviceScanner::SignalObjectAdded(GDBusObjectManager * manager, GDBusObject * object, ChipDeviceScanner * self)
{
- GAutoPtr<BluezDevice1> device(bluez_object_get_device1(BLUEZ_OBJECT(object)));
+ GAutoPtr<BluezDevice1> device(bluez_object_get_device1(reinterpret_cast<BluezObject *>(object)));
VerifyOrReturn(device.get() != nullptr);
self->ReportDevice(*device.get());
@@ -225,7 +225,7 @@
GDBusProxy * aInterface, GVariant * aChangedProperties,
const gchar * const * aInvalidatedProps, ChipDeviceScanner * self)
{
- GAutoPtr<BluezDevice1> device(bluez_object_get_device1(BLUEZ_OBJECT(object)));
+ GAutoPtr<BluezDevice1> device(bluez_object_get_device1(reinterpret_cast<BluezObject *>(object)));
VerifyOrReturn(device.get() != nullptr);
self->ReportDevice(*device.get());