[libgdata] [contacts] Added methods to remove all (e.g.) phone numbers from a contact
- From: Philip Withnall <pwithnall src gnome org>
- To: svn-commits-list gnome org
- Subject: [libgdata] [contacts] Added methods to remove all (e.g.) phone numbers from a contact
- Date: Sun, 19 Jul 2009 17:43:28 +0000 (UTC)
commit 352a620bff7fd01d5c9e9fd455b42eeecce16786
Author: Philip Withnall <philip tecnocode co uk>
Date: Sun Jul 19 18:43:05 2009 +0100
[contacts] Added methods to remove all (e.g.) phone numbers from a contact
docs/reference/gdata-sections.txt | 5 +
gdata/gdata.symbols | 5 +
gdata/services/contacts/gdata-contacts-contact.c | 146 +++++++++++++++++-----
gdata/services/contacts/gdata-contacts-contact.h | 5 +
4 files changed, 131 insertions(+), 30 deletions(-)
---
diff --git a/docs/reference/gdata-sections.txt b/docs/reference/gdata-sections.txt
index 229f4cb..355141f 100644
--- a/docs/reference/gdata-sections.txt
+++ b/docs/reference/gdata-sections.txt
@@ -306,18 +306,23 @@ gdata_contacts_contact_new
gdata_contacts_contact_get_email_addresses
gdata_contacts_contact_get_primary_email_address
gdata_contacts_contact_add_email_address
+gdata_contacts_contact_remove_all_email_addresses
gdata_contacts_contact_get_im_addresses
gdata_contacts_contact_get_primary_im_address
gdata_contacts_contact_add_im_address
+gdata_contacts_contact_remove_all_im_addresses
gdata_contacts_contact_get_postal_addresses
gdata_contacts_contact_get_primary_postal_address
gdata_contacts_contact_add_postal_address
+gdata_contacts_contact_remove_all_postal_addresses
gdata_contacts_contact_get_phone_numbers
gdata_contacts_contact_get_primary_phone_number
gdata_contacts_contact_add_phone_number
+gdata_contacts_contact_remove_all_phone_numbers
gdata_contacts_contact_get_organizations
gdata_contacts_contact_get_primary_organization
gdata_contacts_contact_add_organization
+gdata_contacts_contact_remove_all_organizations
gdata_contacts_contact_get_groups
gdata_contacts_contact_add_group
gdata_contacts_contact_remove_group
diff --git a/gdata/gdata.symbols b/gdata/gdata.symbols
index b666912..9bb8645 100644
--- a/gdata/gdata.symbols
+++ b/gdata/gdata.symbols
@@ -272,18 +272,23 @@ gdata_contacts_contact_get_edited
gdata_contacts_contact_add_email_address
gdata_contacts_contact_get_email_addresses
gdata_contacts_contact_get_primary_email_address
+gdata_contacts_contact_remove_all_email_addresses
gdata_contacts_contact_add_im_address
gdata_contacts_contact_get_im_addresses
gdata_contacts_contact_get_primary_im_address
+gdata_contacts_contact_remove_all_im_addresses
gdata_contacts_contact_add_phone_number
gdata_contacts_contact_get_phone_numbers
gdata_contacts_contact_get_primary_phone_number
+gdata_contacts_contact_remove_all_phone_numbers
gdata_contacts_contact_add_postal_address
gdata_contacts_contact_get_postal_addresses
gdata_contacts_contact_get_primary_postal_address
+gdata_contacts_contact_remove_all_postal_addresses
gdata_contacts_contact_add_organization
gdata_contacts_contact_get_organizations
gdata_contacts_contact_get_primary_organization
+gdata_contacts_contact_remove_all_organizations
gdata_contacts_contact_get_extended_property
gdata_contacts_contact_get_extended_properties
gdata_contacts_contact_set_extended_property
diff --git a/gdata/services/contacts/gdata-contacts-contact.c b/gdata/services/contacts/gdata-contacts-contact.c
index bfae3a9..e0bce7c 100644
--- a/gdata/services/contacts/gdata-contacts-contact.c
+++ b/gdata/services/contacts/gdata-contacts-contact.c
@@ -145,37 +145,13 @@ gdata_contacts_contact_init (GDataContactsContact *self)
static void
gdata_contacts_contact_dispose (GObject *object)
{
- GDataContactsContactPrivate *priv = GDATA_CONTACTS_CONTACT (object)->priv;
-
- if (priv->organizations != NULL) {
- g_list_foreach (priv->organizations, (GFunc) g_object_unref, NULL);
- g_list_free (priv->organizations);
- }
- priv->organizations = NULL;
-
- if (priv->email_addresses != NULL) {
- g_list_foreach (priv->email_addresses, (GFunc) g_object_unref, NULL);
- g_list_free (priv->email_addresses);
- }
- priv->email_addresses = NULL;
-
- if (priv->im_addresses != NULL) {
- g_list_foreach (priv->im_addresses, (GFunc) g_object_unref, NULL);
- g_list_free (priv->im_addresses);
- }
- priv->im_addresses = NULL;
+ GDataContactsContact *self = GDATA_CONTACTS_CONTACT (object);
- if (priv->postal_addresses != NULL) {
- g_list_foreach (priv->postal_addresses, (GFunc) g_object_unref, NULL);
- g_list_free (priv->postal_addresses);
- }
- priv->postal_addresses = NULL;
-
- if (priv->phone_numbers != NULL) {
- g_list_foreach (priv->phone_numbers, (GFunc) g_object_unref, NULL);
- g_list_free (priv->phone_numbers);
- }
- priv->phone_numbers = NULL;
+ gdata_contacts_contact_remove_all_organizations (self);
+ gdata_contacts_contact_remove_all_email_addresses (self);
+ gdata_contacts_contact_remove_all_im_addresses (self);
+ gdata_contacts_contact_remove_all_postal_addresses (self);
+ gdata_contacts_contact_remove_all_phone_numbers (self);
/* Chain up to the parent class */
G_OBJECT_CLASS (gdata_contacts_contact_parent_class)->dispose (object);
@@ -516,6 +492,28 @@ gdata_contacts_contact_get_primary_email_address (GDataContactsContact *self)
}
/**
+ * gdata_contacts_contact_remove_all_email_addresses:
+ * @self: a #GDataContactsContact
+ *
+ * Removes all e-mail addresses from the contact.
+ *
+ * Since: 0.4.0
+ **/
+void
+gdata_contacts_contact_remove_all_email_addresses (GDataContactsContact *self)
+{
+ GDataContactsContactPrivate *priv = self->priv;
+
+ g_return_if_fail (GDATA_IS_CONTACTS_CONTACT (self));
+
+ if (priv->email_addresses != NULL) {
+ g_list_foreach (priv->email_addresses, (GFunc) g_object_unref, NULL);
+ g_list_free (priv->email_addresses);
+ }
+ priv->email_addresses = NULL;
+}
+
+/**
* gdata_contacts_contact_add_im_address:
* @self: a #GDataContactsContact
* @im_address: a #GDataGDIMAddress to add
@@ -583,6 +581,28 @@ gdata_contacts_contact_get_primary_im_address (GDataContactsContact *self)
}
/**
+ * gdata_contacts_contact_remove_all_im_addresses:
+ * @self: a #GDataContactsContact
+ *
+ * Removes all IM addresses from the contact.
+ *
+ * Since: 0.4.0
+ **/
+void
+gdata_contacts_contact_remove_all_im_addresses (GDataContactsContact *self)
+{
+ GDataContactsContactPrivate *priv = self->priv;
+
+ g_return_if_fail (GDATA_IS_CONTACTS_CONTACT (self));
+
+ if (priv->im_addresses != NULL) {
+ g_list_foreach (priv->im_addresses, (GFunc) g_object_unref, NULL);
+ g_list_free (priv->im_addresses);
+ }
+ priv->im_addresses = NULL;
+}
+
+/**
* gdata_contacts_contact_add_phone_number:
* @self: a #GDataContactsContact
* @phone_number: a #GDataGDPhoneNumber to add
@@ -650,6 +670,28 @@ gdata_contacts_contact_get_primary_phone_number (GDataContactsContact *self)
}
/**
+ * gdata_contacts_contact_remove_all_phone_numbers:
+ * @self: a #GDataContactsContact
+ *
+ * Removes all phone numbers from the contact.
+ *
+ * Since: 0.4.0
+ **/
+void
+gdata_contacts_contact_remove_all_phone_numbers (GDataContactsContact *self)
+{
+ GDataContactsContactPrivate *priv = self->priv;
+
+ g_return_if_fail (GDATA_IS_CONTACTS_CONTACT (self));
+
+ if (priv->phone_numbers != NULL) {
+ g_list_foreach (priv->phone_numbers, (GFunc) g_object_unref, NULL);
+ g_list_free (priv->phone_numbers);
+ }
+ priv->phone_numbers = NULL;
+}
+
+/**
* gdata_contacts_contact_add_postal_address:
* @self: a #GDataContactsContact
* @postal_address: a #GDataGDPostalAddress to add
@@ -717,6 +759,28 @@ gdata_contacts_contact_get_primary_postal_address (GDataContactsContact *self)
}
/**
+ * gdata_contacts_contact_remove_all_postal_addresses:
+ * @self: a #GDataContactsContact
+ *
+ * Removes all postal addresses from the contact.
+ *
+ * Since: 0.4.0
+ **/
+void
+gdata_contacts_contact_remove_all_postal_addresses (GDataContactsContact *self)
+{
+ GDataContactsContactPrivate *priv = self->priv;
+
+ g_return_if_fail (GDATA_IS_CONTACTS_CONTACT (self));
+
+ if (priv->postal_addresses != NULL) {
+ g_list_foreach (priv->postal_addresses, (GFunc) g_object_unref, NULL);
+ g_list_free (priv->postal_addresses);
+ }
+ priv->postal_addresses = NULL;
+}
+
+/**
* gdata_contacts_contact_add_organization:
* @self: a #GDataContactsContact
* @organization: a #GDataGDOrganization to add
@@ -784,6 +848,28 @@ gdata_contacts_contact_get_primary_organization (GDataContactsContact *self)
}
/**
+ * gdata_contacts_contact_remove_all_organizations:
+ * @self: a #GDataContactsContact
+ *
+ * Removes all organizations from the contact.
+ *
+ * Since: 0.4.0
+ **/
+void
+gdata_contacts_contact_remove_all_organizations (GDataContactsContact *self)
+{
+ GDataContactsContactPrivate *priv = self->priv;
+
+ g_return_if_fail (GDATA_IS_CONTACTS_CONTACT (self));
+
+ if (priv->organizations != NULL) {
+ g_list_foreach (priv->organizations, (GFunc) g_object_unref, NULL);
+ g_list_free (priv->organizations);
+ }
+ priv->organizations = NULL;
+}
+
+/**
* gdata_contacts_contact_get_extended_property:
* @self: a #GDataContactsContact
* @name: the property name; an arbitrary, unique string
diff --git a/gdata/services/contacts/gdata-contacts-contact.h b/gdata/services/contacts/gdata-contacts-contact.h
index d3d7798..11e89f4 100644
--- a/gdata/services/contacts/gdata-contacts-contact.h
+++ b/gdata/services/contacts/gdata-contacts-contact.h
@@ -71,22 +71,27 @@ gboolean gdata_contacts_contact_is_deleted (GDataContactsContact *self);
void gdata_contacts_contact_add_email_address (GDataContactsContact *self, GDataGDEmailAddress *email_address);
GList *gdata_contacts_contact_get_email_addresses (GDataContactsContact *self);
GDataGDEmailAddress *gdata_contacts_contact_get_primary_email_address (GDataContactsContact *self);
+void gdata_contacts_contact_remove_all_email_addresses (GDataContactsContact *self);
void gdata_contacts_contact_add_im_address (GDataContactsContact *self, GDataGDIMAddress *im_address);
GList *gdata_contacts_contact_get_im_addresses (GDataContactsContact *self);
GDataGDIMAddress *gdata_contacts_contact_get_primary_im_address (GDataContactsContact *self);
+void gdata_contacts_contact_remove_all_im_addresses (GDataContactsContact *self);
void gdata_contacts_contact_add_phone_number (GDataContactsContact *self, GDataGDPhoneNumber *phone_number);
GList *gdata_contacts_contact_get_phone_numbers (GDataContactsContact *self);
GDataGDPhoneNumber *gdata_contacts_contact_get_primary_phone_number (GDataContactsContact *self);
+void gdata_contacts_contact_remove_all_phone_numbers (GDataContactsContact *self);
void gdata_contacts_contact_add_postal_address (GDataContactsContact *self, GDataGDPostalAddress *postal_address);
GList *gdata_contacts_contact_get_postal_addresses (GDataContactsContact *self);
GDataGDPostalAddress *gdata_contacts_contact_get_primary_postal_address (GDataContactsContact *self);
+void gdata_contacts_contact_remove_all_postal_addresses (GDataContactsContact *self);
void gdata_contacts_contact_add_organization (GDataContactsContact *self, GDataGDOrganization *organization);
GList *gdata_contacts_contact_get_organizations (GDataContactsContact *self);
GDataGDOrganization *gdata_contacts_contact_get_primary_organization (GDataContactsContact *self);
+void gdata_contacts_contact_remove_all_organizations (GDataContactsContact *self);
const gchar *gdata_contacts_contact_get_extended_property (GDataContactsContact *self, const gchar *name);
GHashTable *gdata_contacts_contact_get_extended_properties (GDataContactsContact *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]