Hello community,

here is the log from the commit of package telepathy-glib for openSUSE:Factory 
checked in at 2013-01-20 14:55:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/telepathy-glib (Old)
 and      /work/SRC/openSUSE:Factory/.telepathy-glib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "telepathy-glib", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/telepathy-glib/telepathy-glib.changes    
2012-11-25 14:27:21.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.telepathy-glib.new/telepathy-glib.changes       
2013-01-20 14:55:05.000000000 +0100
@@ -1,0 +2,8 @@
+Sun Jan 13 16:18:16 UTC 2013 - [email protected]
+
+- Add tg-add-TpAccount-uri-schemes-property.patch,
+  tg-implement-change-notification-on-uri-schemes-property.patch
+  and tg-tests-simple-account-add-uri.patch, needed to ensure
+  visual feedback on sip accounts changes (fdo#40393). 
+
+-------------------------------------------------------------------

New:
----
  tg-add-TpAccount-uri-schemes-property.patch
  tg-implement-change-notification-on-uri-schemes-property.patch
  tg-tests-simple-account-add-uri.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ telepathy-glib.spec ++++++
--- /var/tmp/diff_new_pack.gBNfo1/_old  2013-01-20 14:55:06.000000000 +0100
+++ /var/tmp/diff_new_pack.gBNfo1/_new  2013-01-20 14:55:06.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package telepathy-glib
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,6 +24,12 @@
 Group:          Development/Languages/C and C++
 Url:            http://telepathy.freedesktop.org/
 Source:         
http://telepathy.freedesktop.org/releases/telepathy-glib/%{name}-%{version}.tar.gz
+# PATCHFIX-UPSTREAM  tg-tests-simple-account-add-uri.patch fdo#40393 -- 
Changes made to sipaccounts does not appear.
+Patch0:         tg-tests-simple-account-add-uri.patch
+# PATCHFIX-UPSTREAM tg-add-TpAccount-uri-schemes-property.patch fdo#40393 -- 
Changes made to sipaccounts does not appear.
+Patch1:         tg-add-TpAccount-uri-schemes-property.patch
+# PATCHFIX-UPSTREAM 
tg-implement-change-notification-on-uri-schemes-property.patch fdo#40393 -- 
Changes made to sipaccounts does not appear.
+Patch2:         tg-implement-change-notification-on-uri-schemes-property.patch
 BuildRequires:  gtk-doc >= 1.17
 BuildRequires:  libxslt-devel
 BuildRequires:  python-xml
@@ -82,7 +88,9 @@
 
 %prep
 %setup -q
-
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 %build
 %configure --disable-static \
         --enable-vala-bindings

++++++ tg-add-TpAccount-uri-schemes-property.patch ++++++
>From 15b8eea5133e683ac14c79734dfbea6747af6e5f Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <[email protected]>
Date: Mon, 07 Jan 2013 16:07:50 +0000
Subject: add TpAccount:uri-schemes: property

The property was missing for some reason.
---
diff --git a/telepathy-glib/account.c b/telepathy-glib/account.c
index 026ad46..c49699c 100644
--- a/telepathy-glib/account.c
+++ b/telepathy-glib/account.c
@@ -181,6 +181,7 @@ enum {
   PROP_STORAGE_IDENTIFIER_VARIANT,
   PROP_STORAGE_RESTRICTIONS,
   PROP_SUPERSEDES,
+  PROP_URI_SCHEMES,
   N_PROPS
 };
 
@@ -1149,6 +1150,9 @@ _tp_account_get_property (GObject *object,
     case PROP_SUPERSEDES:
       g_value_set_boxed (value, self->priv->supersedes);
       break;
+    case PROP_URI_SCHEMES:
+      g_value_set_boxed (value, self->priv->uri_schemes);
+      break;
     case PROP_AUTOMATIC_PRESENCE_TYPE:
       g_value_set_uint (value, self->priv->auto_presence);
       break;
@@ -2030,6 +2034,29 @@ tp_account_class_init (TpAccountClass *klass)
         G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
 
   /**
+   * TpAccount:uri-schemes:
+   *
+   * If the %TP_ACCOUNT_FEATURE_ADDRESSING feature has been prepared
+   * successfully, a list of additional URI schemes for which this
+   * account should be used if possible. Otherwise %NULL.
+   *
+   * For instance, a SIP or Skype account might have "tel" in this list if the
+   * user would like to use that account to call phone numbers.
+   *
+   * This list should not contain the primary URI scheme(s) for the account's
+   * protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP),
+   * since it should be assumed to be useful for those schemes in any case.
+   *
+   * Since: UNRELEASED
+   */
+  g_object_class_install_property (object_class, PROP_URI_SCHEMES,
+      g_param_spec_boxed ("uri-schemes",
+        "URISchemes",
+        "URISchemes",
+        G_TYPE_STRV,
+        G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+  /**
    * TpAccount::status-changed:
    * @account: the #TpAccount
    * @old_status: old #TpAccount:connection-status
@@ -4225,18 +4252,9 @@ tp_account_prepare_addressing_async (TpProxy *proxy,
  * tp_account_get_uri_schemes:
  * @self: a #TpAccount
  *
- * If the %TP_ACCOUNT_FEATURE_ADDRESSING feature has been prepared
- * successfully, return a list of additional URI schemes for which this
- * account should be used if possible. Otherwise return %NULL.
- *
- * For instance, a SIP or Skype account might have "tel" in this list if the
- * user would like to use that account to call phone numbers.
- *
- * This list should not contain the primary URI scheme(s) for the account's
- * protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP),
- * since it should be assumed to be useful for those schemes in any case.
+ * Return the #TpAccount:uri-schemes property
  *
- * Returns: (transfer none): a list of URI schemes, or %NULL
+ * Returns: (transfer none): the value of #TpAccount:uri_schemes property
  *
  * Since: 0.13.8
  */
diff --git a/tests/dbus/account.c b/tests/dbus/account.c
index 3fb54b4..dc27ac1 100644
--- a/tests/dbus/account.c
+++ b/tests/dbus/account.c
@@ -614,11 +614,29 @@ test_storage (Test *test,
 }
 
 static void
+check_uri_schemes (const gchar * const * schemes)
+{
+  g_assert (schemes != NULL);
+  g_assert (tp_strv_contains (schemes, "about"));
+  g_assert (tp_strv_contains (schemes, "telnet"));
+  g_assert (schemes[2] == NULL);
+}
+
+static void
+notify_cb (GObject *object,
+    GParamSpec *spec,
+    Test *test)
+{
+  g_main_loop_quit (test->mainloop);
+}
+
+static void
 test_addressing (Test *test,
     gconstpointer mode)
 {
   GQuark account_features[] = { TP_ACCOUNT_FEATURE_ADDRESSING, 0 };
   const gchar * const *schemes;
+  GStrv tmp;
 
   test->account = tp_account_new (test->dbus, ACCOUNT_PATH, NULL);
   g_assert (test->account != NULL);
@@ -645,10 +663,14 @@ test_addressing (Test *test,
   g_main_loop_run (test->mainloop);
 
   schemes = tp_account_get_uri_schemes (test->account);
-  g_assert (schemes != NULL);
-  g_assert (tp_strv_contains (schemes, "about"));
-  g_assert (tp_strv_contains (schemes, "telnet"));
-  g_assert (schemes[2] == NULL);
+  check_uri_schemes (schemes);
+
+  g_object_get (test->account,
+      "uri-schemes", &tmp,
+      NULL);
+
+  check_uri_schemes ((const gchar * const *) tmp);
+  g_strfreev (tmp);
 
   g_assert (tp_account_associated_with_uri_scheme (test->account,
         "about"));
@@ -656,7 +678,6 @@ test_addressing (Test *test,
         "telnet"));
   g_assert (!tp_account_associated_with_uri_scheme (test->account,
         "xmpp"));
-
 }
 
 static void
--
cgit v0.9.0.2-2-gbebe
++++++ tg-implement-change-notification-on-uri-schemes-property.patch ++++++
>From 18dd2cc616621f796bf1d1987e55b51eedca00b8 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <[email protected]>
Date: Mon, 07 Jan 2013 16:29:45 +0000
Subject: TpAccount: implement change notification on uri-schemes property

---
diff --git a/telepathy-glib/account.c b/telepathy-glib/account.c
index c49699c..3b4d44f 100644
--- a/telepathy-glib/account.c
+++ b/telepathy-glib/account.c
@@ -1020,6 +1020,42 @@ _tp_account_got_all_cb (TpProxy *proxy,
 }
 
 static void
+addressing_props_changed (TpAccount *self,
+    GHashTable *changed_properties)
+{
+  const gchar * const * v;
+
+  if (self->priv->uri_schemes == NULL)
+    /* We did not fetch the initial value yet, ignoring */
+    return;
+
+  v = tp_asv_get_strv (changed_properties, "URISchemes");
+  if (v == NULL)
+    return;
+
+  g_strfreev (self->priv->uri_schemes);
+  self->priv->uri_schemes = g_strdupv ((GStrv) v);
+
+  g_object_notify (G_OBJECT (self), "uri-schemes");
+}
+
+static void
+dbus_properties_changed_cb (TpProxy *proxy,
+    const gchar *interface_name,
+    GHashTable *changed_properties,
+    const gchar **invalidated_properties,
+    gpointer user_data,
+    GObject *weak_object)
+{
+  TpAccount *self = TP_ACCOUNT (weak_object);
+
+  if (!tp_strdiff (interface_name, TP_IFACE_ACCOUNT_INTERFACE_ADDRESSING))
+    {
+      addressing_props_changed (self, changed_properties);
+    }
+}
+
+static void
 _tp_account_constructed (GObject *object)
 {
   TpAccount *self = TP_ACCOUNT (object);
@@ -1059,6 +1095,9 @@ _tp_account_constructed (GObject *object)
   tp_cli_account_connect_to_account_property_changed (self,
       _tp_account_properties_changed, NULL, NULL, object, NULL);
 
+  tp_cli_dbus_properties_connect_to_properties_changed (self,
+      dbus_properties_changed_cb, NULL, NULL, object, NULL);
+
   tp_cli_dbus_properties_call_get_all (self, -1, TP_IFACE_ACCOUNT,
       _tp_account_got_all_cb, NULL, NULL, G_OBJECT (self));
 }
@@ -2047,6 +2086,9 @@ tp_account_class_init (TpAccountClass *klass)
    * protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP),
    * since it should be assumed to be useful for those schemes in any case.
    *
+   * The notify::uri-schemes signal cannot be relied on if the Account Manager
+   * is Mission Control version 5.14.0 or older.
+   *
    * Since: UNRELEASED
    */
   g_object_class_install_property (object_class, PROP_URI_SCHEMES,
diff --git a/tests/dbus/account.c b/tests/dbus/account.c
index dc27ac1..b921f40 100644
--- a/tests/dbus/account.c
+++ b/tests/dbus/account.c
@@ -678,6 +678,15 @@ test_addressing (Test *test,
         "telnet"));
   g_assert (!tp_account_associated_with_uri_scheme (test->account,
         "xmpp"));
+
+  g_signal_connect (test->account, "notify::uri-schemes",
+      G_CALLBACK (notify_cb), test);
+
+  tp_tests_simple_account_add_uri_scheme (test->account_service, "xmpp");
+  g_main_loop_run (test->mainloop);
+
+  g_assert (tp_account_associated_with_uri_scheme (test->account,
+        "xmpp"));
 }
 
 static void
diff --git a/tests/lib/simple-account.c b/tests/lib/simple-account.c
index 892e0e5..dc09120 100644
--- a/tests/lib/simple-account.c
+++ b/tests/lib/simple-account.c
@@ -603,5 +603,20 @@ void
 tp_tests_simple_account_add_uri_scheme (TpTestsSimpleAccount *self,
     const gchar *uri_scheme)
 {
+  GHashTable *changed;
+  GStrv schemes;
+
   g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_scheme));
+
+  g_object_get (self, "uri-schemes", &schemes, NULL);
+
+  changed = tp_asv_new (
+      "URISchemes", G_TYPE_STRV, schemes,
+      NULL);
+
+  tp_svc_dbus_properties_emit_properties_changed (self,
+      TP_IFACE_ACCOUNT_INTERFACE_ADDRESSING, changed, NULL);
+
+  g_strfreev (schemes);
+  g_hash_table_unref (changed);
 }
--
cgit v0.9.0.2-2-gbebe
++++++ tg-tests-simple-account-add-uri.patch ++++++
>From 16578d4864f04d26c05c94dbd4c6035ba728d55c Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <[email protected]>
Date: Mon, 07 Jan 2013 15:57:04 +0000
Subject: simple-account: add tp_tests_simple_account_add_uri_scheme()

---
diff --git a/tests/lib/simple-account.c b/tests/lib/simple-account.c
index 6279d75..892e0e5 100644
--- a/tests/lib/simple-account.c
+++ b/tests/lib/simple-account.c
@@ -80,6 +80,7 @@ struct _TpTestsSimpleAccountPrivate
   gchar *presence_msg;
   gchar *connection_path;
   gboolean enabled;
+  GPtrArray *uri_schemes;
 };
 
 static void
@@ -122,10 +123,14 @@ account_iface_init (gpointer klass,
 #undef IMPLEMENT
 }
 
+/* you may have noticed this is not entirely realistic */
+static const gchar * const uri_schemes[] = { "about", "telnet", NULL };
 
 static void
 tp_tests_simple_account_init (TpTestsSimpleAccount *self)
 {
+  guint i;
+
   self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, TP_TESTS_TYPE_SIMPLE_ACCOUNT,
       TpTestsSimpleAccountPrivate);
 
@@ -134,10 +139,11 @@ tp_tests_simple_account_init (TpTestsSimpleAccount *self)
   self->priv->presence_msg = g_strdup ("this is my CurrentPresence");
   self->priv->connection_path = g_strdup ("/");
   self->priv->enabled = TRUE;
-}
 
-/* you may have noticed this is not entirely realistic */
-static const gchar * const uri_schemes[] = { "about", "telnet", NULL };
+  self->priv->uri_schemes = g_ptr_array_new_with_free_func (g_free);
+  for (i = 0; uri_schemes[i] != NULL; i++)
+    g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_schemes[i]));
+}
 
 static void
 tp_tests_simple_account_get_property (GObject *object,
@@ -231,7 +237,19 @@ tp_tests_simple_account_get_property (GObject *object,
           TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS);
       break;
     case PROP_URI_SCHEMES:
-      g_value_set_boxed (value, uri_schemes);
+        {
+          GPtrArray *arr;
+          guint i;
+
+          arr = g_ptr_array_sized_new (self->priv->uri_schemes->len + 1);
+          for (i = 0; i < self->priv->uri_schemes->len; i++)
+              g_ptr_array_add (arr,
+                  g_ptr_array_index (self->priv->uri_schemes, i));
+            g_ptr_array_add (arr, NULL);
+
+          g_value_set_boxed (value, arr->pdata);
+          g_ptr_array_unref (arr);
+        }
       break;
     case PROP_AVATAR:
         {
@@ -274,6 +292,8 @@ tp_tests_simple_account_finalize (GObject *object)
   g_free (self->priv->presence_msg);
   g_free (self->priv->connection_path);
 
+  g_ptr_array_unref (self->priv->uri_schemes);
+
   G_OBJECT_CLASS (tp_tests_simple_account_parent_class)->finalize (object);
 }
 
@@ -578,3 +598,10 @@ tp_tests_simple_account_set_enabled (TpTestsSimpleAccount 
*self,
   tp_svc_account_emit_account_property_changed (self, change);
   g_hash_table_unref (change);
 }
+
+void
+tp_tests_simple_account_add_uri_scheme (TpTestsSimpleAccount *self,
+    const gchar *uri_scheme)
+{
+  g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_scheme));
+}
diff --git a/tests/lib/simple-account.h b/tests/lib/simple-account.h
index 2ce3efd..b8547bd 100644
--- a/tests/lib/simple-account.h
+++ b/tests/lib/simple-account.h
@@ -64,6 +64,9 @@ void tp_tests_simple_account_removed (TpTestsSimpleAccount 
*self);
 void tp_tests_simple_account_set_enabled (TpTestsSimpleAccount *self,
     gboolean enabled);
 
+void tp_tests_simple_account_add_uri_scheme (TpTestsSimpleAccount *self,
+    const gchar * uri_scheme);
+
 G_END_DECLS
 
 #endif /* #ifndef __TP_TESTS_SIMPLE_ACCOUNT_H__ */
--
cgit v0.9.0.2-2-gbebe
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to