GrssPerson: libgrss Reference Manual

## GrssPerson GrssPerson — a structure representing Person |

## Functions

void | grss_person_unref ()
GrssPerson * | grss_person_ref ()
GrssPerson * | grss_person_new ()
const gchar * | grss_person_get_name ()
const gchar * | grss_person_get_email ()
const gchar * | grss_person_get_uri ()

## Types and Values

| GrssPerson

## Object Hierarchy

        GBoxed
        ╰── GrssPerson

## Description

GrssPerson is an immutable object; once it has been created it cannot be modified further. All modifiers will create a new GrssPerson. Nearly all such functions can fail `NULL` will be returned.

GrssPerson is reference counted: the reference count is increased by calling `grss_person_ref()` and decreased by calling `grss_person_unref()`. When the reference count drops to 0, the resources allocated by the GrssPerson structure are released.

GrssPerson is available since Grss 0.7.

## Functions

### grss_person_unref ()

    void
    grss_person_unref (GrssPerson *person);

Atomically decrements the reference count of `person` by one.

When the reference count reaches zero, the resources allocated by `person` are freed

#### Parameters

person | a GrssPerson |

Since: 0.7

### grss_person_ref ()

    GrssPerson *
    grss_person_ref (GrssPerson *person);

Atomically increments the reference count of `person` by one.

#### Parameters

person | a GrssPerson |

#### Returns

the GrssPerson with the reference count increased

Since: 0.7

### grss_person_new ()

    GrssPerson *
    grss_person_new (const gchar *name,
                     const gchar *email,
                     const gchar *uri);

Creates a new GrssPerson.

#### Parameters

name | the name of the person |
email | the email of the person, or `NULL`. | [allow-none]
uri | the homepage (uri) of the person, or `NULL`. | [allow-none]

#### Returns

a new GrssPerson, or `NULL`

Since: 0.7

### grss_person_get_name ()

    const gchar *
    grss_person_get_name (GrssPerson *person);

#### Parameters

person | a GrssPerson |

#### Returns

the name of person. The returned string is owned by GrssPerson and it should not be modified or freed.

[transfer none]

Since: 0.7

### grss_person_get_email ()

    const gchar *
    grss_person_get_email (GrssPerson *person);

#### Parameters

person | a GrssPerson |

#### Returns

the email of person. The returned string is owned by GrssPerson and it should not be modified or freed.

[transfer none]

Since: 0.7

### grss_person_get_uri ()

    const gchar *
    grss_person_get_uri (GrssPerson *person);

#### Parameters

person | a GrssPerson |

#### Returns

the website (uri) of person. The returned string is owned by GrssPerson and it should not be modified or freed.

[transfer none]

Since: 0.7

## Types and Values

### GrssPerson

    typedef struct _GrssPerson GrssPerson;

`GrssPerson` is an opaque structure whose members cannot be accessed directly.

Since: 0.7