X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgdbusobjectproxy.c;h=97889251ec47a911ed804967f9e969b4b14361c4;hb=4482977238ae80f64c2fe318d1500f4662c73980;hp=2249303346e2f0f2aed04c6a66e91ade92fe6707;hpb=fcefc71d5932f2828a27c4064d8a64a0382891a9;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gdbusobjectproxy.c b/gio/gdbusobjectproxy.c index 2249303..9788925 100644 --- a/gio/gdbusobjectproxy.c +++ b/gio/gdbusobjectproxy.c @@ -13,9 +13,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Public License along with this library; if not, see . * * Author: David Zeuthen */ @@ -46,7 +44,7 @@ struct _GDBusObjectProxyPrivate { - GMutex *lock; + GMutex lock; GHashTable *map_name_to_iface; gchar *object_path; GDBusConnection *connection; @@ -55,14 +53,15 @@ struct _GDBusObjectProxyPrivate enum { PROP_0, - PROP_OBJECT_PATH, - PROP_CONNECTION + PROP_G_OBJECT_PATH, + PROP_G_CONNECTION }; static void dbus_object_interface_init (GDBusObjectIface *iface); G_DEFINE_TYPE_WITH_CODE (GDBusObjectProxy, g_dbus_object_proxy, G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, dbus_object_interface_init)); + G_ADD_PRIVATE (GDBusObjectProxy) + G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, dbus_object_interface_init)) static void g_dbus_object_proxy_finalize (GObject *object) @@ -71,7 +70,11 @@ g_dbus_object_proxy_finalize (GObject *object) g_hash_table_unref (proxy->priv->map_name_to_iface); - g_mutex_free (proxy->priv->lock); + g_clear_object (&proxy->priv->connection); + + g_free (proxy->priv->object_path); + + g_mutex_clear (&proxy->priv->lock); if (G_OBJECT_CLASS (g_dbus_object_proxy_parent_class)->finalize != NULL) G_OBJECT_CLASS (g_dbus_object_proxy_parent_class)->finalize (object); @@ -87,18 +90,18 @@ g_dbus_object_proxy_get_property (GObject *object, switch (prop_id) { - case PROP_OBJECT_PATH: - g_mutex_lock (proxy->priv->lock); + case PROP_G_OBJECT_PATH: + g_mutex_lock (&proxy->priv->lock); g_value_set_string (value, proxy->priv->object_path); - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); break; - case PROP_CONNECTION: + case PROP_G_CONNECTION: g_value_set_object (value, g_dbus_object_proxy_get_connection (proxy)); break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (_object, prop_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID (proxy, prop_id, pspec); break; } } @@ -113,20 +116,20 @@ g_dbus_object_proxy_set_property (GObject *object, switch (prop_id) { - case PROP_OBJECT_PATH: - g_mutex_lock (proxy->priv->lock); + case PROP_G_OBJECT_PATH: + g_mutex_lock (&proxy->priv->lock); proxy->priv->object_path = g_value_dup_string (value); - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); break; - case PROP_CONNECTION: - g_mutex_lock (proxy->priv->lock); + case PROP_G_CONNECTION: + g_mutex_lock (&proxy->priv->lock); proxy->priv->connection = g_value_dup_object (value); - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); break; default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (_object, prop_id, pspec); + G_OBJECT_WARN_INVALID_PROPERTY_ID (proxy, prop_id, pspec); break; } } @@ -141,15 +144,15 @@ g_dbus_object_proxy_class_init (GDBusObjectProxyClass *klass) gobject_class->get_property = g_dbus_object_proxy_get_property; /** - * GDBusObjectProxy:object-path: + * GDBusObjectProxy:g-object-path: * * The object path of the proxy. * * Since: 2.30 */ g_object_class_install_property (gobject_class, - PROP_OBJECT_PATH, - g_param_spec_string ("object-path", + PROP_G_OBJECT_PATH, + g_param_spec_string ("g-object-path", "Object Path", "The object path of the proxy", NULL, @@ -158,32 +161,28 @@ g_dbus_object_proxy_class_init (GDBusObjectProxyClass *klass) G_PARAM_STATIC_STRINGS)); /** - * GDBusObjectProxy:connection: + * GDBusObjectProxy:g-connection: * * The connection of the proxy. * * Since: 2.30 */ g_object_class_install_property (gobject_class, - PROP_CONNECTION, - g_param_spec_object ("connection", + PROP_G_CONNECTION, + g_param_spec_object ("g-connection", "Connection", "The connection of the proxy", G_TYPE_DBUS_CONNECTION, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); - - g_type_class_add_private (klass, sizeof (GDBusObjectProxyPrivate)); } static void g_dbus_object_proxy_init (GDBusObjectProxy *proxy) { - proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, - G_TYPE_DBUS_OBJECT_PROXY, - GDBusObjectProxyPrivate); - proxy->priv->lock = g_mutex_new (); + proxy->priv = g_dbus_object_proxy_get_instance_private (proxy); + g_mutex_init (&proxy->priv->lock); proxy->priv->map_name_to_iface = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, @@ -195,9 +194,9 @@ g_dbus_object_proxy_get_object_path (GDBusObject *object) { GDBusObjectProxy *proxy = G_DBUS_OBJECT_PROXY (object); const gchar *ret; - g_mutex_lock (proxy->priv->lock); + g_mutex_lock (&proxy->priv->lock); ret = proxy->priv->object_path; - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); return ret; } @@ -217,9 +216,9 @@ g_dbus_object_proxy_get_connection (GDBusObjectProxy *proxy) { GDBusConnection *ret; g_return_val_if_fail (G_IS_DBUS_OBJECT_PROXY (proxy), NULL); - g_mutex_lock (proxy->priv->lock); + g_mutex_lock (&proxy->priv->lock); ret = proxy->priv->connection; - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); return ret; } @@ -233,11 +232,11 @@ g_dbus_object_proxy_get_interface (GDBusObject *object, g_return_val_if_fail (G_IS_DBUS_OBJECT_PROXY (proxy), NULL); g_return_val_if_fail (g_dbus_is_interface_name (interface_name), NULL); - g_mutex_lock (proxy->priv->lock); + g_mutex_lock (&proxy->priv->lock); ret = g_hash_table_lookup (proxy->priv->map_name_to_iface, interface_name); if (ret != NULL) g_object_ref (ret); - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); return (GDBusInterface *) ret; /* TODO: proper cast */ } @@ -252,10 +251,10 @@ g_dbus_object_proxy_get_interfaces (GDBusObject *object) ret = NULL; - g_mutex_lock (proxy->priv->lock); + g_mutex_lock (&proxy->priv->lock); ret = g_hash_table_get_values (proxy->priv->map_name_to_iface); g_list_foreach (ret, (GFunc) g_object_ref, NULL); - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); return ret; } @@ -281,8 +280,8 @@ g_dbus_object_proxy_new (GDBusConnection *connection, g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL); g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); return G_DBUS_OBJECT_PROXY (g_object_new (G_TYPE_DBUS_OBJECT_PROXY, - "object-path", object_path, - "connection", connection, + "g-object-path", object_path, + "g-connection", connection, NULL)); } @@ -296,7 +295,7 @@ _g_dbus_object_proxy_add_interface (GDBusObjectProxy *proxy, g_return_if_fail (G_IS_DBUS_OBJECT_PROXY (proxy)); g_return_if_fail (G_IS_DBUS_PROXY (interface_proxy)); - g_mutex_lock (proxy->priv->lock); + g_mutex_lock (&proxy->priv->lock); interface_name = g_dbus_proxy_get_interface_name (interface_proxy); interface_proxy_to_remove = g_hash_table_lookup (proxy->priv->map_name_to_iface, interface_name); @@ -310,7 +309,7 @@ _g_dbus_object_proxy_add_interface (GDBusObjectProxy *proxy, g_object_ref (interface_proxy)); g_object_ref (interface_proxy); - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); if (interface_proxy_to_remove != NULL) { @@ -331,20 +330,20 @@ _g_dbus_object_proxy_remove_interface (GDBusObjectProxy *proxy, g_return_if_fail (G_IS_DBUS_OBJECT_PROXY (proxy)); g_return_if_fail (g_dbus_is_interface_name (interface_name)); - g_mutex_lock (proxy->priv->lock); + g_mutex_lock (&proxy->priv->lock); interface_proxy = g_hash_table_lookup (proxy->priv->map_name_to_iface, interface_name); if (interface_proxy != NULL) { g_object_ref (interface_proxy); g_warn_if_fail (g_hash_table_remove (proxy->priv->map_name_to_iface, interface_name)); - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); g_signal_emit_by_name (proxy, "interface-removed", interface_proxy); g_object_unref (interface_proxy); } else { - g_mutex_unlock (proxy->priv->lock); + g_mutex_unlock (&proxy->priv->lock); } }