]> git.0d.be Git - empathy.git/blobdiff - libempathy/empathy-tp-contact-factory.h
Change EmpathyTpContactFactory API to look more like TpConnection. Add function to...
[empathy.git] / libempathy / empathy-tp-contact-factory.h
index eddb315e82a06c766c5be5bba7739372d7728b0b..91ff2f9e7209a5677ebed6c40e880045d2376eb8 100644 (file)
@@ -49,24 +49,55 @@ struct _EmpathyTpContactFactoryClass {
        GObjectClass parent_class;
 };
 
-typedef void (*EmpathyTpContactFactoryGotContactsCb) (EmpathyTpContactFactory *factory,
-                                                     GList                   *contacts,
-                                                     gpointer                 user_data,
-                                                     GObject                 *weak_object);
+typedef void (*EmpathyTpContactFactoryContactsByIdCb) (EmpathyTpContactFactory *factory,
+                                                      guint                    n_contacts,
+                                                      EmpathyContact * const * contacts,
+                                                      const gchar * const *    requested_ids,
+                                                      GHashTable              *failed_id_errors,
+                                                      const GError            *error,
+                                                      gpointer                 user_data,
+                                                      GObject                 *weak_object);
+
+typedef void (*EmpathyTpContactFactoryContactsByHandleCb) (EmpathyTpContactFactory *factory,
+                                                          guint                    n_contacts,
+                                                          EmpathyContact * const * contacts,
+                                                           guint                    n_failed,
+                                                           const TpHandle          *failed,
+                                                           const GError            *error,
+                                                          gpointer                 user_data,
+                                                          GObject                 *weak_object);
+
+typedef void (*EmpathyTpContactFactoryContactCb) (EmpathyTpContactFactory *factory,
+                                                 EmpathyContact          *contact,
+                                                 const GError            *error,
+                                                 gpointer                 user_data,
+                                                 GObject                 *weak_object);
 
 GType                    empathy_tp_contact_factory_get_type         (void) G_GNUC_CONST;
 EmpathyTpContactFactory *empathy_tp_contact_factory_dup_singleton    (TpConnection *connection);
 void                     empathy_tp_contact_factory_get_from_ids     (EmpathyTpContactFactory *tp_factory,
                                                                      guint                    n_ids,
                                                                      const gchar * const     *ids,
-                                                                     EmpathyTpContactFactoryGotContactsCb callback,
+                                                                     EmpathyTpContactFactoryContactsByIdCb callback,
                                                                      gpointer                 user_data,
                                                                      GDestroyNotify           destroy,
                                                                      GObject                 *weak_object);
 void                     empathy_tp_contact_factory_get_from_handles (EmpathyTpContactFactory *tp_factory,
                                                                      guint                    n_handles,
                                                                      const TpHandle          *handles,
-                                                                     EmpathyTpContactFactoryGotContactsCb callback,
+                                                                     EmpathyTpContactFactoryContactsByHandleCb callback,
+                                                                     gpointer                 user_data,
+                                                                     GDestroyNotify           destroy,
+                                                                     GObject                 *weak_object);
+void                     empathy_tp_contact_factory_get_from_id      (EmpathyTpContactFactory *tp_factory,
+                                                                     const gchar             *id,
+                                                                     EmpathyTpContactFactoryContactCb callback,
+                                                                     gpointer                 user_data,
+                                                                     GDestroyNotify           destroy,
+                                                                     GObject                 *weak_object);
+void                     empathy_tp_contact_factory_get_from_handle  (EmpathyTpContactFactory *tp_factory,
+                                                                     TpHandle                 handle,
+                                                                     EmpathyTpContactFactoryContactCb callback,
                                                                      gpointer                 user_data,
                                                                      GDestroyNotify           destroy,
                                                                      GObject                 *weak_object);