void moko_contacts_get_photo (MokoContacts *contacts, MokoContact *m_contact) { MokoContactsPrivate *priv; EContact *e_contact; EContactPhoto *photo; GError *err = NULL; GdkPixbufLoader *loader; g_return_if_fail (MOKO_IS_CONTACTS (contacts)); g_return_if_fail (m_contact); priv = contacts->priv; if (!e_book_get_contact (priv->book, m_contact->uid, &e_contact, &err)) { g_warning ("%s\n", err->message); m_contact->photo = gdk_pixbuf_new_from_file (PKGDATADIR"/person.png", NULL); if (m_contact->photo) g_object_ref (m_contact->photo); return; } photo = e_contact_get (e_contact, E_CONTACT_PHOTO); if (!photo) { m_contact->photo = gdk_pixbuf_new_from_file (PKGDATADIR"/person.png", NULL); if (m_contact->photo) g_object_ref (m_contact->photo); return; } loader = gdk_pixbuf_loader_new (); gdk_pixbuf_loader_write (loader, photo->data.inlined.data, photo->data.inlined.length, NULL); gdk_pixbuf_loader_close (loader, NULL); m_contact->photo = gdk_pixbuf_loader_get_pixbuf (loader); if (GDK_IS_PIXBUF (m_contact->photo)) g_object_ref (m_contact->photo); else { m_contact->photo = gdk_pixbuf_new_from_file (PKGDATADIR"/person.png", NULL); if (m_contact->photo) g_object_ref (m_contact->photo); } g_object_unref (loader); e_contact_photo_free (photo); }
static void print_one_email (EBook *book) { EContact *contact; GError *error = NULL; if (!e_book_get_contact (book, "pas-id-0002023", &contact, &error)) { printf ("error %d getting card: %s\n", error->code, error->message); g_clear_error (&error); return; } print_email (contact); g_object_unref (contact); }
static void test_remove_contact_sync (ETestServerFixture *fixture, gconstpointer user_data) { EBook *book; EContact *contact_final = NULL; gchar *uid; book = E_TEST_SERVER_UTILS_SERVICE (fixture, EBook); uid = ebook_test_utils_book_add_contact_from_test_case_verify (book, "simple-1", NULL); ebook_test_utils_book_remove_contact (book, uid); e_book_get_contact (book, uid, &contact_final, NULL); g_assert (contact_final == NULL); test_print ("successfully added and removed contact '%s'\n", uid); g_free (uid); }