## GNIO Utilities

GNIO Utilities — Telepathy/GNIO utility functions

## Synopsis

    #include <telepathy-glib/gnio-util.h>

    GSocketAddress *    tp_g_socket_address_from_variant    (TpSocketAddressType type,
                                                             const GValue *variant,
                                                             GError **error);
    GValue *            tp_address_variant_from_g_socket_address
                                                            (GSocketAddress *address,
                                                             TpSocketAddressType *type,
                                                             GError **error);

## Description

Utility functions for interacting between Telepathy and GNIO.

Telepathy uses address variants stored in GValue boxes for communicating network socket addresses over D-Bus to and from the Connection Manager (for instance when using the file transfer and stream tube APIs).

This API provides translation between GSocketAddress subtypes and a GValue that can be used by telepathy-glib. GInetSocketAddress is used for IPv4/IPv6 and GUnixSocketAddress for UNIX sockets (only available on platforms with gio-unix).

## Details

### tp_g_socket_address_from_variant ()

    GSocketAddress *    tp_g_socket_address_from_variant    (TpSocketAddressType type,
                                                             const GValue *variant,
                                                             GError **error);

Converts an address variant stored in a GValue into a GSocketAddress that can be used to make a socket connection with GIO.

`type` : | a Telepathy socket address type
`variant` : | an initialised GValue containing an address variant
`error` : | return location for a GError (or NULL)
Returns : | a newly allocated GSocketAddress for the given variant, or NULL on error

### tp_address_variant_from_g_socket_address ()

    GValue *            tp_address_variant_from_g_socket_address
                                                            (GSocketAddress *address,
                                                             TpSocketAddressType *type,
                                                             GError **error);

Converts a GSocketAddress to a GValue address variant that can be used with Telepathy.

`address` : | a GSocketAddress to convert
`type` : | optional return of the Telepathy socket type (or NULL)
`error` : | return location for a GError (or NULL)
Returns : | a newly allocated GValue, free with `tp_g_value_slice_free()`