## GDataGContactExternalID GDataGContactExternalID — gContact externalId element |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <gdata/gcontact/gdata-gcontact-external-id.h>

    #define             GDATA_GCONTACT_EXTERNAL_ID_ACCOUNT
    #define             GDATA_GCONTACT_EXTERNAL_ID_CUSTOMER
    #define             GDATA_GCONTACT_EXTERNAL_ID_NETWORK
    #define             GDATA_GCONTACT_EXTERNAL_ID_ORGANIZATION
                        GDataGContactExternalID;
                        GDataGContactExternalIDClass;
    GDataGContactExternalID * gdata_gcontact_external_id_new
                                                            (const gchar *value,
                                                             const gchar *relation_type,
                                                             const gchar *label);
    const gchar *       gdata_gcontact_external_id_get_value
                                                            (GDataGContactExternalID *self);
    void                gdata_gcontact_external_id_set_value
                                                            (GDataGContactExternalID *self,
                                                             const gchar *value);
    const gchar *       gdata_gcontact_external_id_get_relation_type
                                                            (GDataGContactExternalID *self);
    void                gdata_gcontact_external_id_set_relation_type
                                                            (GDataGContactExternalID *self,
                                                             const gchar *relation_type);
    const gchar *       gdata_gcontact_external_id_get_label
                                                            (GDataGContactExternalID *self);
    void                gdata_gcontact_external_id_set_label
                                                            (GDataGContactExternalID *self,
                                                             const gchar *label);

## Object Hierarchy

      GObject
       +----GDataParsable
             +----GDataGContactExternalID

## Implemented Interfaces

GDataGContactExternalID implements GDataComparable.

## Properties

      "label"                    gchar*                : Read / Write
      "relation-type"            gchar*                : Read / Write
      "value"                    gchar*                : Read / Write

## Description

GDataGContactExternalID represents an "externalId" element from the gContact specification.

## Details

### GDATA_GCONTACT_EXTERNAL_ID_ACCOUNT

    #define GDATA_GCONTACT_EXTERNAL_ID_ACCOUNT "account"

The relation type URI for an account number identifier.

For more information, see the gContact specification.

Since 0.7.0

### GDATA_GCONTACT_EXTERNAL_ID_CUSTOMER

    #define GDATA_GCONTACT_EXTERNAL_ID_CUSTOMER "customer"

The relation type URI for a customer identifier.

For more information, see the gContact specification.

Since 0.7.0

### GDATA_GCONTACT_EXTERNAL_ID_NETWORK

    #define GDATA_GCONTACT_EXTERNAL_ID_NETWORK "network"

The relation type URI for a network identifier.

For more information, see the gContact specification.

Since 0.7.0

### GDATA_GCONTACT_EXTERNAL_ID_ORGANIZATION

    #define GDATA_GCONTACT_EXTERNAL_ID_ORGANIZATION "organization"

The relation type URI for an identifier related to an organization the contact is associated with.

For more information, see the gContact specification.

Since 0.7.0

### GDataGContactExternalID

    typedef struct _GDataGContactExternalID GDataGContactExternalID;

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

Since 0.7.0

### GDataGContactExternalIDClass

    typedef struct {
    } GDataGContactExternalIDClass;

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

Since 0.7.0

### gdata_gcontact_external_id_new ()

    GDataGContactExternalID * gdata_gcontact_external_id_new
                                                            (const gchar *value,
                                                             const gchar *relation_type,
                                                             const gchar *label);

Creates a new GDataGContactExternalID. More information is available in the gContact specification.

Exactly one of `relation_type` and `label` should be provided; the other must be `NULL`.

`value` : | the value of the external ID
`relation_type` : | the type of external ID, or `NULL`. [allow-none]
`label` : | a free-form label for the external ID, or `NULL`. [allow-none]
Returns : | a new GDataGContactExternalID; unref with `g_object_unref()`

Since 0.7.0

### gdata_gcontact_external_id_get_value ()

    const gchar *       gdata_gcontact_external_id_get_value
                                                            (GDataGContactExternalID *self);

Gets the "value" property.

`self` : | a GDataGContactExternalID
Returns : | the external ID's value

Since 0.7.0

### gdata_gcontact_external_id_set_value ()

    void                gdata_gcontact_external_id_set_value
                                                            (GDataGContactExternalID *self,
                                                             const gchar *value);

Sets the "value" property to `value`.

`self` : | a GDataGContactExternalID
`value` : | the new value for the external ID

Since 0.7.0

### gdata_gcontact_external_id_get_relation_type ()

    const gchar *       gdata_gcontact_external_id_get_relation_type
                                                            (GDataGContactExternalID *self);

Gets the "relation-type" property.

`self` : | a GDataGContactExternalID
Returns : | the type of the relation, or `NULL`

Since 0.7.0

### gdata_gcontact_external_id_set_relation_type ()

    void                gdata_gcontact_external_id_set_relation_type
                                                            (GDataGContactExternalID *self,
                                                             const gchar *relation_type);

Sets the "relation-type" property to `relation_type`, such as `GDATA_GCONTACT_EXTERNAL_ID_NETWORK` or `GDATA_GCONTACT_EXTERNAL_ID_ACCOUNT`.

If `relation_type` is `NULL`, the relation type will be unset. When the GDataGContactExternalID is used in a query, however, exactly one of "relation-type" and "label" must be `NULL`.

`self` : | a GDataGContactExternalID
`relation_type` : | the new type for the external ID, or `NULL`. [allow-none]

Since 0.7.0

### gdata_gcontact_external_id_get_label ()

    const gchar *       gdata_gcontact_external_id_get_label
                                                            (GDataGContactExternalID *self);

Gets the "label" property.

`self` : | a GDataGContactExternalID
Returns : | a free-form label for the external ID, or `NULL`

Since 0.7.0

### gdata_gcontact_external_id_set_label ()

    void                gdata_gcontact_external_id_set_label
                                                            (GDataGContactExternalID *self,
                                                             const gchar *label);

Sets the "label" property to `label`.

If `label` is `NULL`, the label will be unset. When the GDataGContactExternalID is used in a query, however, exactly one of "relation-type" and "label" must be `NULL`.

`self` : | a GDataGContactExternalID
`label` : | the new free-form label for the external ID, or `NULL`. [allow-none]

Since 0.7.0

## Property Details

### The `"label"` property

      "label"                    gchar*                : Read / Write

A free-form string that identifies the type of external ID. It is mutually exclusive with "relation-type".

For more information, see the gContact specification.

Default value: NULL

Since 0.7.0

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

      "relation-type"            gchar*                : Read / Write

A programmatic value that identifies the type of external ID. It is mutually exclusive with "label". Examples are `GDATA_GCONTACT_EXTERNAL_ID_NETWORK` or `GDATA_GCONTACT_EXTERNAL_ID_ACCOUNT`.

For more information, see the gContact specification.

Default value: NULL

Since 0.7.0

### The `"value"` property

      "value"                    gchar*                : Read / Write

The value of the external ID.

For more information, see the gContact specification.

Default value: NULL

Since 0.7.0