static void
tp_contact_list_got_added_members_cb (EmpathyTpContactFactory *factory,
- GList *contacts,
+ guint n_contacts,
+ EmpathyContact * const * contacts,
+ guint n_failed,
+ const TpHandle *failed,
+ const GError *error,
gpointer user_data,
GObject *list)
{
EmpathyTpContactListPriv *priv = GET_PRIV (list);
- GList *l;
+ guint i;
+
+ if (error) {
+ DEBUG ("Error: %s", error->message);
+ return;
+ }
- for (l = contacts; l; l = l->next) {
- EmpathyContact *contact = l->data;
+ for (i = 0; i < n_contacts; i++) {
+ EmpathyContact *contact = contacts[i];
TpHandle handle;
handle = empathy_contact_get_handle (contact);
static void
tp_contact_list_got_local_pending_cb (EmpathyTpContactFactory *factory,
- GList *contacts,
- gpointer info,
+ guint n_contacts,
+ EmpathyContact * const * contacts,
+ guint n_failed,
+ const TpHandle *failed,
+ const GError *error,
+ gpointer user_data,
GObject *list)
{
EmpathyTpContactListPriv *priv = GET_PRIV (list);
- GList *l;
+ guint i;
- for (l = contacts; l; l = l->next) {
- EmpathyContact *contact = l->data;
+ if (error) {
+ DEBUG ("Error: %s", error->message);
+ return;
+ }
+
+ for (i = 0; i < n_contacts; i++) {
+ EmpathyContact *contact = contacts[i];
TpHandle handle;
const gchar *message;
TpChannelGroupChangeReason reason;
{
EmpathyTpContactListPriv *priv = GET_PRIV (list);
- const gchar *protocol_name = NULL;
+ gchar *protocol_name = NULL;
const gchar *names[] = {NULL, NULL};
priv->factory = empathy_tp_contact_factory_dup_singleton (priv->connection);
/* Check for protocols that does not support contact groups. We can
* put all contacts into a special group in that case.
- * FIXME: Default group should be an information in the profile */
- //protocol_name = tp_connection_get_protocol (priv->connection);
+ * FIXME: Default group should be an information in the profile
+ * FIXME: replace with tp_connection_parse_object_path once released */
+ protocol_name = empathy_connection_get_protocol (priv->connection, NULL);
if (!tp_strdiff (protocol_name, "local-xmpp")) {
priv->protocol_group = _("People nearby");
}
+ g_free (protocol_name);
}
static void
tp_cli_channel_interface_group_call_add_members (priv->subscribe,
-1, &handles, message, NULL, NULL, NULL, NULL);
}
+ if (priv->publish &&
+ g_hash_table_lookup (priv->pendings, GUINT_TO_POINTER (handle))) {
+ tp_cli_channel_interface_group_call_add_members (priv->publish,
+ -1, &handles, message, NULL, NULL, NULL, NULL);
+ }
}
static void