GDataGDIMAddress

## GDataGDIMAddress GDataGDIMAddress — GData instant messaging address element |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <gdata/gd/gdata-gd-im-address.h>

                        GDataGDIMAddress;
                        GDataGDIMAddressClass;
    GDataGDIMAddress *  gdata_gd_im_address_new             (const gchar *address,
                                                             const gchar *protocol,
                                                             const gchar *relation_type,
                                                             const gchar *label,
                                                             gboolean is_primary);
    gint                gdata_gd_im_address_compare         (const GDataGDIMAddress *a,
                                                             const GDataGDIMAddress *b);
    const gchar *       gdata_gd_im_address_get_address     (GDataGDIMAddress *self);
    void                gdata_gd_im_address_set_address     (GDataGDIMAddress *self,
                                                             const gchar *address);
    const gchar *       gdata_gd_im_address_get_protocol    (GDataGDIMAddress *self);
    void                gdata_gd_im_address_set_protocol    (GDataGDIMAddress *self,
                                                             const gchar *protocol);
    const gchar *       gdata_gd_im_address_get_relation_type
                                                            (GDataGDIMAddress *self);
    void                gdata_gd_im_address_set_relation_type
                                                            (GDataGDIMAddress *self,
                                                             const gchar *relation_type);
    const gchar *       gdata_gd_im_address_get_label       (GDataGDIMAddress *self);
    void                gdata_gd_im_address_set_label       (GDataGDIMAddress *self,
                                                             const gchar *label);
    gboolean            gdata_gd_im_address_is_primary      (GDataGDIMAddress *self);
    void                gdata_gd_im_address_set_is_primary  (GDataGDIMAddress *self,
                                                             gboolean is_primary);

## Object Hierarchy

      GObject
       +----GDataParsable
             +----GDataGDIMAddress

## Properties

      "address"                  gchar*                : Read / Write
      "is-primary"               gboolean              : Read / Write
      "label"                    gchar*                : Read / Write
      "protocol"                 gchar*                : Read / Write
      "relation-type"            gchar*                : Read / Write

## Description

GDataGDIMAddress represents an "im" element from the GData specification.

## Details

### GDataGDIMAddress

    typedef struct _GDataGDIMAddress GDataGDIMAddress;

All the fields in the GDataGDIMAddress structure are private and should never be accessed directly.

Since 0.2.0

### GDataGDIMAddressClass

    typedef struct {
    } GDataGDIMAddressClass;

All the fields in the GDataGDIMAddressClass structure are private and should never be accessed directly.

Since 0.4.0

### gdata_gd_im_address_new ()

    GDataGDIMAddress *  gdata_gd_im_address_new             (const gchar *address,
                                                             const gchar *protocol,
                                                             const gchar *relation_type,
                                                             const gchar *label,
                                                             gboolean is_primary);

Creates a new GDataGDIMAddress. More information is available in the GData specification.

`address` : | the IM address
`protocol` : | a URI identifying the IM protocol, or `NULL`. [allow-none]
`relation_type` : | the relationship between the IM address and its owner, or `NULL`. [allow-none]
`label` : | a human-readable label for the IM address, or `NULL`. [allow-none]
`is_primary` : | `TRUE` if this IM address is its owner's primary address, `FALSE` otherwise
Returns : | a new GDataGDIMAddress, or `NULL`; unref with `g_object_unref()`

Since 0.2.0

### gdata_gd_im_address_compare ()

    gint                gdata_gd_im_address_compare         (const GDataGDIMAddress *a,
                                                             const GDataGDIMAddress *b);

Compares the two IM addresses in a `strcmp()` fashion. `NULL` values are handled gracefully, with `0` returned if both `a` and `b` are `NULL`, `-1` if `a` is `NULL` and `1` if `b` is `NULL`.

The comparison of non-`NULL` values is done on the basis of the `address` and `protocol` properties of the GDataGDIMAddresses.

`a` : | a GDataGDIMAddress, or `NULL`
`b` : | another GDataGDIMAddress, or `NULL`
Returns : | `0` if `a` equals `b`, `-1` or `1` as appropriate otherwise

Since 0.4.0

### gdata_gd_im_address_get_address ()

    const gchar *       gdata_gd_im_address_get_address     (GDataGDIMAddress *self);

Gets the "address" property.

`self` : | a GDataGDIMAddress
Returns : | the IM address itself, or `NULL`

Since 0.4.0

### gdata_gd_im_address_set_address ()

    void                gdata_gd_im_address_set_address     (GDataGDIMAddress *self,
                                                             const gchar *address);

Sets the "address" property to `address`.

`self` : | a GDataGDIMAddress
`address` : | the new IM address

Since 0.4.0

### gdata_gd_im_address_get_protocol ()

    const gchar *       gdata_gd_im_address_get_protocol    (GDataGDIMAddress *self);

Gets the "protocol" property.

`self` : | a GDataGDIMAddress
Returns : | the IM address' protocol, or `NULL`

Since 0.4.0

### gdata_gd_im_address_set_protocol ()

    void                gdata_gd_im_address_set_protocol    (GDataGDIMAddress *self,
                                                             const gchar *protocol);

Sets the "protocol" property to `protocol`.

`self` : | a GDataGDIMAddress
`protocol` : | the new IM protocol, or `NULL`. [allow-none]

Since 0.4.0

### gdata_gd_im_address_get_relation_type ()

    const gchar *       gdata_gd_im_address_get_relation_type
                                                            (GDataGDIMAddress *self);

Gets the "relation-type" property.

`self` : | a GDataGDIMAddress
Returns : | the IM address' relation type, or `NULL`

Since 0.4.0

### gdata_gd_im_address_set_relation_type ()

    void                gdata_gd_im_address_set_relation_type
                                                            (GDataGDIMAddress *self,
                                                             const gchar *relation_type);

Sets the "relation-type" property to `relation_type`.

Set `relation_type` to `NULL` to unset the property in the IM address.

`self` : | a GDataGDIMAddress
`relation_type` : | the new relation type for the im_address, or `NULL`. [allow-none]

Since 0.4.0

### gdata_gd_im_address_get_label ()

    const gchar *       gdata_gd_im_address_get_label       (GDataGDIMAddress *self);

Gets the "label" property.

`self` : | a GDataGDIMAddress
Returns : | the IM address' label, or `NULL`

Since 0.4.0

### gdata_gd_im_address_set_label ()

    void                gdata_gd_im_address_set_label       (GDataGDIMAddress *self,
                                                             const gchar *label);

Sets the "label" property to `label`.

Set `label` to `NULL` to unset the property in the IM address.

`self` : | a GDataGDIMAddress
`label` : | the new label for the IM address, or `NULL`. [allow-none]

Since 0.4.0

### gdata_gd_im_address_is_primary ()

    gboolean            gdata_gd_im_address_is_primary      (GDataGDIMAddress *self);

Gets the "is-primary" property.

`self` : | a GDataGDIMAddress
Returns : | `TRUE` if this is the primary IM address, `FALSE` otherwise

Since 0.4.0

### gdata_gd_im_address_set_is_primary ()

    void                gdata_gd_im_address_set_is_primary  (GDataGDIMAddress *self,
                                                             gboolean is_primary);

Sets the "is-primary" property to `is_primary`.

`self` : | a GDataGDIMAddress
`is_primary` : | `TRUE` if this is the primary IM address, `FALSE` otherwise

Since 0.4.0

## Property Details

### The `"address"` property

      "address"                  gchar*                : Read / Write

The IM address itself.

For more information, see the GData specification.

Default value: NULL

Since 0.4.0

### The `"is-primary"` property

      "is-primary"               gboolean              : Read / Write

Indicates which IM address out of a group is primary.

For more information, see the GData specification.

Default value: FALSE

Since 0.4.0

### The `"label"` property

      "label"                    gchar*                : Read / Write

A simple string value used to name this IM address. It allows UIs to display a label such as "Work", "Personal", "Preferred", etc.

For more information, see the GData specification.

Default value: NULL

Since 0.4.0

### The `"protocol"` property

      "protocol"                 gchar*                : Read / Write

Identifies the IM network.

For more information, see the GData specification.

Default value: NULL

Since 0.4.0

### The `"relation-type"` property

      "relation-type"            gchar*                : Read / Write

A programmatic value that identifies the type of IM address.

For more information, see the GData specification.

Default value: NULL

Since 0.4.0