[evolution-data-server] Make e_contact_photo_copy() public.



commit bf59e44b2844f3e4d6957809d66aa0150ebd5faa
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Feb 26 10:22:03 2013 -0500

    Make e_contact_photo_copy() public.

 addressbook/libebook-contacts/e-contact.c          |   32 +++++++++++++------
 addressbook/libebook-contacts/e-contact.h          |    1 +
 .../libebook-contacts-sections.txt                 |    1 +
 3 files changed, 24 insertions(+), 10 deletions(-)
---
diff --git a/addressbook/libebook-contacts/e-contact.c b/addressbook/libebook-contacts/e-contact.c
index 3239f5c..934496c 100644
--- a/addressbook/libebook-contacts/e-contact.c
+++ b/addressbook/libebook-contacts/e-contact.c
@@ -2199,28 +2199,40 @@ e_contact_photo_free (EContactPhoto *photo)
  * Creates a copy of @photo.
  *
  * Returns: A new #EContactPhoto struct identical to @photo.
+ *
+ * Since: 3.8
  **/
-static EContactPhoto *
+EContactPhoto *
 e_contact_photo_copy (EContactPhoto *photo)
 {
-       EContactPhoto *photo2 = g_new0 (EContactPhoto, 1);
+       EContactPhoto *copy;
+
+       g_return_val_if_fail (photo != NULL, NULL);
+
+       copy = g_new0 (EContactPhoto, 1);
+
        switch (photo->type) {
        case E_CONTACT_PHOTO_TYPE_INLINED:
-               photo2->type = E_CONTACT_PHOTO_TYPE_INLINED;
-               photo2->data.inlined.mime_type = g_strdup (photo->data.inlined.mime_type);
-               photo2->data.inlined.length = photo->data.inlined.length;
-               photo2->data.inlined.data = g_malloc (photo2->data.inlined.length);
-               memcpy (photo2->data.inlined.data, photo->data.inlined.data, photo->data.inlined.length);
+               copy->type = E_CONTACT_PHOTO_TYPE_INLINED;
+               copy->data.inlined.mime_type =
+                       g_strdup (photo->data.inlined.mime_type);
+               copy->data.inlined.length = photo->data.inlined.length;
+               copy->data.inlined.data = g_malloc (copy->data.inlined.length);
+               memcpy (
+                       copy->data.inlined.data,
+                       photo->data.inlined.data,
+                       photo->data.inlined.length);
                break;
        case E_CONTACT_PHOTO_TYPE_URI:
-               photo2->type = E_CONTACT_PHOTO_TYPE_URI;
-               photo2->data.uri = g_strdup (photo->data.uri);
+               copy->type = E_CONTACT_PHOTO_TYPE_URI;
+               copy->data.uri = g_strdup (photo->data.uri);
                break;
        default:
                g_warning ("Unknown EContactPhotoType %d", photo->type);
                break;
        }
-       return photo2;
+
+       return copy;
 }
 
 /**
diff --git a/addressbook/libebook-contacts/e-contact.h b/addressbook/libebook-contacts/e-contact.h
index 46483ff..e8cf418 100644
--- a/addressbook/libebook-contacts/e-contact.h
+++ b/addressbook/libebook-contacts/e-contact.h
@@ -368,6 +368,7 @@ void                e_contact_name_free             (EContactName *name);
 GType          e_contact_photo_get_type        (void);
 EContactPhoto *        e_contact_photo_new             (void);
 void           e_contact_photo_free            (EContactPhoto *photo);
+EContactPhoto *        e_contact_photo_copy            (EContactPhoto *photo);
 const guchar * e_contact_photo_get_inlined     (EContactPhoto *photo,
                                                 gsize *len);
 void           e_contact_photo_set_inlined     (EContactPhoto *photo,
diff --git a/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt 
b/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt
index 4e30d4c..8fa7582 100644
--- a/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt
+++ b/docs/reference/addressbook/libebook-contacts/libebook-contacts-sections.txt
@@ -80,6 +80,7 @@ e_contact_name_copy
 e_contact_name_free
 e_contact_photo_new
 e_contact_photo_free
+e_contact_photo_copy
 e_contact_photo_get_inlined
 e_contact_photo_set_inlined
 e_contact_photo_get_mime_type


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]