diff options
author | Thomas Haller <thaller@redhat.com> | 2013-09-06 19:29:29 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2013-09-25 21:01:04 +0200 |
commit | c3e644fbb436f7fbcb44af25ec9011e8cc943b96 (patch) | |
tree | f32ee91a8a752e10bcd4e0c65c46ebcd5dfaedd6 | |
parent | 1ae5d53354178666c7754457e1ef5e4b69bc29ec (diff) | |
download | NetworkManager-c3e644fbb436f7fbcb44af25ec9011e8cc943b96.tar.gz |
trivial: change nm-bluez*-device.c to be more similar
These two files share much code, so they will be merged
into one file.
As a first step, make some trvial renaming to make the two
files more similar and easier to merge.
Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r-- | src/bluez-manager/nm-bluez-device.c | 109 | ||||
-rw-r--r-- | src/bluez-manager/nm-bluez5-device.c | 59 |
2 files changed, 90 insertions, 78 deletions
diff --git a/src/bluez-manager/nm-bluez-device.c b/src/bluez-manager/nm-bluez-device.c index a14075fbbc..869f3ec1f9 100644 --- a/src/bluez-manager/nm-bluez-device.c +++ b/src/bluez-manager/nm-bluez-device.c @@ -27,10 +27,10 @@ #include "NetworkManager.h" #include "nm-setting-bluetooth.h" -#include "nm-dbus-manager.h" -#include "nm-bluez-device.h" #include "nm-bluez-common.h" +#include "nm-dbus-manager.h" #include "nm-dbus-glib-types.h" +#include "nm-bluez-device.h" #include "nm-logging.h" @@ -40,7 +40,7 @@ G_DEFINE_TYPE (NMBluezDevice, nm_bluez_device, G_TYPE_OBJECT) typedef struct { char *path; - DBusGProxy *proxy; + DBusGProxy *proxy4; DBusGProxy *connection_proxy; gboolean initialized; @@ -54,7 +54,7 @@ typedef struct { gint rssi; gboolean connected; - char *rfcomm_iface; + char *bt_iface; NMConnectionProvider *provider; GSList *connections; @@ -153,7 +153,10 @@ check_emit_usable (NMBluezDevice *self) NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); gboolean new_usable; - new_usable = (priv->initialized && priv->capabilities && priv->name && priv->address && priv->connections); + new_usable = (priv->initialized && priv->capabilities && priv->name && + priv->address && + priv->connections + ); if (new_usable != priv->usable) { priv->usable = new_usable; g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_USABLE); @@ -263,12 +266,12 @@ nm_bluez_device_call_disconnect (NMBluezDevice *self) return; if (priv->connection_bt_type == NM_BT_CAPABILITY_DUN) { - /* Don't ever pass NULL through dbus; rfcomm_iface + /* Don't ever pass NULL through dbus; bt_iface * might happen to be NULL for some reason. */ - if (priv->rfcomm_iface) + if (priv->bt_iface) dbus_g_proxy_call_no_reply (priv->connection_proxy, "Disconnect", - G_TYPE_STRING, priv->rfcomm_iface, + G_TYPE_STRING, priv->bt_iface, G_TYPE_INVALID); } else { dbus_g_proxy_call_no_reply (priv->connection_proxy, "Disconnect", @@ -280,7 +283,7 @@ nm_bluez_device_call_disconnect (NMBluezDevice *self) } static void -bluez_connect_cb (DBusGProxy *proxy, +bluez_connect_cb (DBusGProxy *proxy4, DBusGProxyCall *call_id, gpointer user_data) { @@ -290,7 +293,7 @@ bluez_connect_cb (DBusGProxy *proxy, GError *error = NULL; char *device; - if (dbus_g_proxy_end_call (proxy, call_id, &error, + if (dbus_g_proxy_end_call (proxy4, call_id, &error, G_TYPE_STRING, &device, G_TYPE_INVALID) == FALSE) g_simple_async_result_take_error (result, error); @@ -302,7 +305,7 @@ bluez_connect_cb (DBusGProxy *proxy, g_simple_async_result_set_op_res_gpointer (result, g_strdup (device), g_free); - priv->rfcomm_iface = device; + priv->bt_iface = device; } g_simple_async_result_complete (result); @@ -414,7 +417,7 @@ convert_uuids_to_capabilities (const char **strings) } static void -property_changed (DBusGProxy *proxy, +property_changed (DBusGProxy *proxy4, const char *property, GValue *value, gpointer user_data) @@ -425,32 +428,34 @@ property_changed (DBusGProxy *proxy, guint32 uint_val; gint int_val; - if (!strcmp (property, "Name")) { - str = g_value_get_string (value); - if ( (!priv->name && str) - || (priv->name && !str) - || (priv->name && str && strcmp (priv->name, str))) { - g_free (priv->name); - priv->name = g_strdup (str); - g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_NAME); - } - } else if (!strcmp (property, "RSSI")) { - int_val = g_value_get_int (value); - if (priv->rssi != int_val) { - priv->rssi = int_val; - g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_RSSI); - } - } else if (!strcmp (property, "UUIDs")) { - uint_val = convert_uuids_to_capabilities ((const char **) g_value_get_boxed (value)); - if (priv->capabilities != uint_val) { - priv->capabilities = uint_val; - g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CAPABILITIES); - } - } else if (!strcmp (property, "Connected")) { - gboolean connected = g_value_get_boolean (value); - if (priv->connected != connected) { - priv->connected = connected; - g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CONNECTED); + { + if (!strcmp (property, "Name")) { + str = g_value_get_string (value); + if ( (!priv->name && str) + || (priv->name && !str) + || (priv->name && str && strcmp (priv->name, str))) { + g_free (priv->name); + priv->name = g_strdup (str); + g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_NAME); + } + } else if (!strcmp (property, "RSSI")) { + int_val = g_value_get_int (value); + if (priv->rssi != int_val) { + priv->rssi = int_val; + g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_RSSI); + } + } else if (!strcmp (property, "UUIDs")) { + uint_val = convert_uuids_to_capabilities ((const char **) g_value_get_boxed (value)); + if (priv->capabilities != uint_val) { + priv->capabilities = uint_val; + g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CAPABILITIES); + } + } else if (!strcmp (property, "Connected")) { + gboolean connected = g_value_get_boolean (value); + if (priv->connected != connected) { + priv->connected = connected; + g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CONNECTED); + } } } @@ -458,7 +463,7 @@ property_changed (DBusGProxy *proxy, } static void -get_properties_cb (DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data) +get_properties_cb (DBusGProxy *proxy4, DBusGProxyCall *call, gpointer user_data) { NMBluezDevice *self = NM_BLUEZ_DEVICE (user_data); NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); @@ -468,7 +473,7 @@ get_properties_cb (DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data) const char **uuids; struct ether_addr *tmp; - if (!dbus_g_proxy_end_call (proxy, call, &err, + if (!dbus_g_proxy_end_call (proxy4, call, &err, DBUS_TYPE_G_MAP_OF_VARIANT, &properties, G_TYPE_INVALID)) { nm_log_warn (LOGD_BT, "bluez error getting device properties: %s", @@ -516,7 +521,7 @@ query_properties (NMBluezDevice *self) NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); DBusGProxyCall *call; - call = dbus_g_proxy_begin_call (priv->proxy, "GetProperties", + call = dbus_g_proxy_begin_call (priv->proxy4, "GetProperties", get_properties_cb, self, NULL, G_TYPE_INVALID); @@ -529,7 +534,9 @@ query_properties (NMBluezDevice *self) /********************************************************************/ NMBluezDevice * -nm_bluez_device_new (const char *path, NMConnectionProvider *provider) +nm_bluez_device_new (const char *path + , NMConnectionProvider *provider + ) { NMBluezDevice *self; NMBluezDevicePrivate *priv; @@ -570,18 +577,18 @@ nm_bluez_device_new (const char *path, NMConnectionProvider *provider) connection = nm_dbus_manager_get_connection (nm_dbus_manager_get ()); - priv->proxy = dbus_g_proxy_new_for_name (connection, - BLUEZ_SERVICE, - priv->path, - BLUEZ_DEVICE_INTERFACE); + priv->proxy4 = dbus_g_proxy_new_for_name (connection, + BLUEZ_SERVICE, + priv->path, + BLUEZ_DEVICE_INTERFACE); dbus_g_object_register_marshaller (g_cclosure_marshal_generic, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID); - dbus_g_proxy_add_signal (priv->proxy, "PropertyChanged", + dbus_g_proxy_add_signal (priv->proxy4, "PropertyChanged", G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID); - dbus_g_proxy_connect_signal (priv->proxy, "PropertyChanged", + dbus_g_proxy_connect_signal (priv->proxy4, "PropertyChanged", G_CALLBACK (property_changed), self, NULL); query_properties (self); @@ -621,8 +628,8 @@ finalize (GObject *object) g_free (priv->path); g_free (priv->address); g_free (priv->name); - g_free (priv->rfcomm_iface); - g_object_unref (priv->proxy); + g_free (priv->bt_iface); + g_object_unref (priv->proxy4); G_OBJECT_CLASS (nm_bluez_device_parent_class)->finalize (object); } @@ -753,7 +760,7 @@ nm_bluez_device_class_init (NMBluezDeviceClass *config_class) G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (NMBluezDeviceClass, initialized), - NULL, NULL, NULL, + NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); } diff --git a/src/bluez-manager/nm-bluez5-device.c b/src/bluez-manager/nm-bluez5-device.c index 3ccbea719e..5d1ff8c58f 100644 --- a/src/bluez-manager/nm-bluez5-device.c +++ b/src/bluez-manager/nm-bluez5-device.c @@ -28,8 +28,8 @@ #include "NetworkManager.h" #include "nm-setting-bluetooth.h" -#include "nm-bluez-device.h" #include "nm-bluez-common.h" +#include "nm-bluez-device.h" #include "nm-logging.h" @@ -39,9 +39,9 @@ G_DEFINE_TYPE (NMBluezDevice, nm_bluez_device, G_TYPE_OBJECT) typedef struct { char *path; - GDBusProxy *proxy; + GDBusProxy *proxy5; GDBusProxy *adapter; - GDBusConnection *connection; + GDBusConnection *dbus_connection; gboolean initialized; gboolean usable; @@ -151,7 +151,9 @@ check_emit_usable (NMBluezDevice *self) gboolean new_usable; new_usable = (priv->initialized && priv->capabilities && priv->name && - priv->address && priv->adapter && priv->connection); + priv->address && + priv->adapter && priv->dbus_connection + ); if (new_usable != priv->usable) { priv->usable = new_usable; g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_USABLE); @@ -165,10 +167,10 @@ nm_bluez_device_call_disconnect (NMBluezDevice *self) { NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); - g_return_if_fail (priv->connection); + g_return_if_fail (priv->dbus_connection); g_return_if_fail (priv->connection_bt_type == NM_BT_CAPABILITY_NAP); - g_dbus_connection_call (priv->connection, + g_dbus_connection_call (priv->dbus_connection, BLUEZ_SERVICE, priv->path, BLUEZ_NETWORK_INTERFACE, @@ -183,18 +185,18 @@ nm_bluez_device_call_disconnect (NMBluezDevice *self) } static void -bluez_connect_pan_cb (GDBusConnection *connection, +bluez_connect_pan_cb (GDBusConnection *dbus_connection, GAsyncResult *res, gpointer user_data) { - GSimpleAsyncResult *result = user_data; + GSimpleAsyncResult *result = G_SIMPLE_ASYNC_RESULT (user_data); NMBluezDevice *self = NM_BLUEZ_DEVICE (g_async_result_get_source_object (G_ASYNC_RESULT (result))); NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); - GVariant *variant; GError *error = NULL; char *device; + GVariant *variant; - variant = g_dbus_connection_call_finish (connection, res, &error); + variant = g_dbus_connection_call_finish (dbus_connection, res, &error); if (!variant) { g_simple_async_result_take_error (result, error); @@ -229,7 +231,7 @@ nm_bluez_device_connect_async (NMBluezDevice *self, nm_bluez_device_connect_async); /* For PAN we call Connect() on org.bluez.Network1 */ - g_dbus_connection_call (priv->connection, + g_dbus_connection_call (priv->dbus_connection, BLUEZ_SERVICE, priv->path, BLUEZ_NETWORK_INTERFACE, @@ -313,7 +315,7 @@ on_adapter_acquired (GObject *object, GAsyncResult *res, NMBluezDevice *self) } static void -properties_changed (GDBusProxy *proxy, +properties_changed (GDBusProxy *proxy5, GVariant *changed_properties, GStrv invalidated_properties, gpointer user_data) @@ -372,7 +374,7 @@ query_properties (NMBluezDevice *self) const char **uuids; struct ether_addr *tmp; - v = g_dbus_proxy_get_cached_property (priv->proxy, "Address"); + v = g_dbus_proxy_get_cached_property (priv->proxy5, "Address"); priv->address = v ? g_variant_dup_string (v, NULL) : NULL; if (v) g_variant_unref (v); @@ -382,17 +384,17 @@ query_properties (NMBluezDevice *self) memcpy (priv->bin_address, tmp->ether_addr_octet, ETH_ALEN); } - v = g_dbus_proxy_get_cached_property (priv->proxy, "Name"); + v = g_dbus_proxy_get_cached_property (priv->proxy5, "Name"); priv->name = v ? g_variant_dup_string (v, NULL) : NULL; if (v) g_variant_unref (v); - v = g_dbus_proxy_get_cached_property (priv->proxy, "RSSI"); + v = g_dbus_proxy_get_cached_property (priv->proxy5, "RSSI"); priv->rssi = v ? g_variant_get_int16 (v) : 0; if (v) g_variant_unref (v); - v = g_dbus_proxy_get_cached_property (priv->proxy, "UUIDs"); + v = g_dbus_proxy_get_cached_property (priv->proxy5, "UUIDs"); if (v) { uuids = g_variant_get_strv (v, NULL); priv->capabilities = convert_uuids_to_capabilities (uuids); @@ -400,7 +402,7 @@ query_properties (NMBluezDevice *self) } else priv->capabilities = NM_BT_CAPABILITY_NONE; - v = g_dbus_proxy_get_cached_property (priv->proxy, "Adapter"); + v = g_dbus_proxy_get_cached_property (priv->proxy5, "Adapter"); if (v) { g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_NONE, @@ -426,9 +428,9 @@ on_proxy_acquired (GObject *object, GAsyncResult *res, NMBluezDevice *self) NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); GError *error; - priv->proxy = g_dbus_proxy_new_for_bus_finish (res, &error); + priv->proxy5 = g_dbus_proxy_new_for_bus_finish (res, &error); - if (!priv->proxy) { + if (!priv->proxy5) { nm_log_warn (LOGD_BT, "failed to acquire device proxy: %s.", error && error->message ? error->message : "(unknown)"); g_clear_error (&error); @@ -436,7 +438,7 @@ on_proxy_acquired (GObject *object, GAsyncResult *res, NMBluezDevice *self) return; } - g_signal_connect (priv->proxy, "g-properties-changed", + g_signal_connect (priv->proxy5, "g-properties-changed", G_CALLBACK (properties_changed), self); query_properties (self); @@ -448,9 +450,9 @@ on_bus_acquired (GObject *object, GAsyncResult *res, NMBluezDevice *self) NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); GError *error = NULL; - priv->connection = g_bus_get_finish (res, &error); + priv->dbus_connection = g_bus_get_finish (res, &error); - if (!priv->connection) { + if (!priv->dbus_connection) { nm_log_warn (LOGD_BT, "failed to acquire bus connection: %s.", error && error->message ? error->message : "(unknown)"); g_clear_error (&error); @@ -464,7 +466,8 @@ on_bus_acquired (GObject *object, GAsyncResult *res, NMBluezDevice *self) /********************************************************************/ NMBluezDevice * -nm_bluez_device_new (const char *path) +nm_bluez_device_new (const char *path + ) { NMBluezDevice *self; NMBluezDevicePrivate *priv; @@ -505,10 +508,11 @@ nm_bluez_device_init (NMBluezDevice *self) static void dispose (GObject *object) { - NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (object); + NMBluezDevice *self = NM_BLUEZ_DEVICE (object); + NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (self); g_clear_object (&priv->adapter); - g_clear_object (&priv->connection); + g_clear_object (&priv->dbus_connection); G_OBJECT_CLASS (nm_bluez_device_parent_class)->dispose (object); } @@ -522,7 +526,7 @@ finalize (GObject *object) g_free (priv->address); g_free (priv->name); g_free (priv->bt_iface); - g_object_unref (priv->proxy); + g_object_unref (priv->proxy5); G_OBJECT_CLASS (nm_bluez_device_parent_class)->finalize (object); } @@ -588,8 +592,8 @@ nm_bluez_device_class_init (NMBluezDeviceClass *config_class) /* virtual methods */ object_class->get_property = get_property; object_class->set_property = set_property; - object_class->finalize = finalize; object_class->dispose = dispose; + object_class->finalize = finalize; /* Properties */ g_object_class_install_property @@ -656,3 +660,4 @@ nm_bluez_device_class_init (NMBluezDeviceClass *config_class) NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); } + |