## Tubes channels

Tubes channels — service-side interface for the Tubes channel type

## Synopsis

    #include <telepathy-glib/svc-channel.h>

                        TpSvcChannelTypeTubes;
                        TpSvcChannelTypeTubesClass;
    void                (*tp_svc_channel_type_tubes_accept_d_bus_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_accept_d_bus_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_accept_d_bus_tube_impl impl);
    void                tp_svc_channel_type_tubes_return_from_accept_d_bus_tube
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Address);
    void                (*tp_svc_channel_type_tubes_accept_stream_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             guint in_Address_Type,
                                                             guint in_Access_Control,
                                                             const GValue *in_Access_Control_Param,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_accept_stream_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_accept_stream_tube_impl impl);
    void                tp_svc_channel_type_tubes_return_from_accept_stream_tube
                                                            (DBusGMethodInvocation *context,
                                                             const GValue *out_Address);
    void                (*tp_svc_channel_type_tubes_close_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_close_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_close_tube_impl impl);
    void                tp_svc_channel_type_tubes_return_from_close_tube
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_channel_type_tubes_get_available_stream_tube_types_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_get_available_stream_tube_types
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_available_stream_tube_types_impl impl);
    void                tp_svc_channel_type_tubes_return_from_get_available_stream_tube_types
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Available_Stream_Tube_Types);
    void                (*tp_svc_channel_type_tubes_get_available_tube_types_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_get_available_tube_types
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_available_tube_types_impl impl);
    void                tp_svc_channel_type_tubes_return_from_get_available_tube_types
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Available_Tube_Types);
    void                (*tp_svc_channel_type_tubes_get_d_bus_names_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_get_d_bus_names
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_d_bus_names_impl impl);
    void                tp_svc_channel_type_tubes_return_from_get_d_bus_names
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_DBus_Names);
    void                (*tp_svc_channel_type_tubes_get_d_bus_tube_address_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_get_d_bus_tube_address
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_d_bus_tube_address_impl impl);
    void                tp_svc_channel_type_tubes_return_from_get_d_bus_tube_address
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Address);
    void                (*tp_svc_channel_type_tubes_get_stream_tube_socket_address_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_get_stream_tube_socket_address
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_stream_tube_socket_address_impl impl);
    void                tp_svc_channel_type_tubes_return_from_get_stream_tube_socket_address
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Address_Type,
                                                             const GValue *out_Address);
    void                (*tp_svc_channel_type_tubes_list_tubes_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_list_tubes
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_list_tubes_impl impl);
    void                tp_svc_channel_type_tubes_return_from_list_tubes
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Tubes);
    void                (*tp_svc_channel_type_tubes_offer_d_bus_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             const gchar *in_Service,
                                                             GHashTable *in_Parameters,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_offer_d_bus_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_offer_d_bus_tube_impl impl);
    void                tp_svc_channel_type_tubes_return_from_offer_d_bus_tube
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Tube_ID);
    void                (*tp_svc_channel_type_tubes_offer_stream_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             const gchar *in_Service,
                                                             GHashTable *in_Parameters,
                                                             guint in_Address_Type,
                                                             const GValue *in_Address,
                                                             guint in_Access_Control,
                                                             const GValue *in_Access_Control_Param,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_tubes_implement_offer_stream_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_offer_stream_tube_impl impl);
    void                tp_svc_channel_type_tubes_return_from_offer_stream_tube
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Tube_ID);
    void                tp_svc_channel_type_tubes_emit_d_bus_names_changed
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             const GPtrArray *arg_Added,
                                                             const GArray *arg_Removed);
    void                tp_svc_channel_type_tubes_emit_new_tube
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_Initiator,
                                                             guint arg_Type,
                                                             const gchar *arg_Service,
                                                             GHashTable *arg_Parameters,
                                                             guint arg_State);
    void                tp_svc_channel_type_tubes_emit_stream_tube_new_connection
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_Handle);
    void                tp_svc_channel_type_tubes_emit_tube_closed
                                                            (gpointer instance,
                                                             guint arg_ID);
    void                tp_svc_channel_type_tubes_emit_tube_state_changed
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_State);

## Object Hierarchy

      GInterface
       +----TpSvcChannelTypeTubes

## Signals

      "d-bus-names-changed"                            : Run Last / Has Details
      "new-tube"                                       : Run Last / Has Details
      "stream-tube-new-connection"                     : Run Last / Has Details
      "tube-closed"                                    : Run Last / Has Details
      "tube-state-changed"                             : Run Last / Has Details

## Description

A "tube" is a mechanism for arbitrary data transfer. This section documents the auto-generated C wrappers for the Tubes channel type.

## Details

### TpSvcChannelTypeTubes

    typedef struct _TpSvcChannelTypeTubes TpSvcChannelTypeTubes;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelTypeTubesClass

    typedef struct _TpSvcChannelTypeTubesClass TpSvcChannelTypeTubesClass;

The class of TpSvcChannelTypeTubes.

In a full implementation of this interface (i.e. all methods implemented), the interface initialization function used in `G_IMPLEMENT_INTERFACE()` would typically look like this:

    static void
    implement_channel_type_tubes (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_type_tubes_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_available_stream_tube_types);
      IMPLEMENT (get_available_tube_types);
      IMPLEMENT (list_tubes);
      IMPLEMENT (offer_d_bus_tube);
      IMPLEMENT (offer_stream_tube);
      IMPLEMENT (accept_d_bus_tube);
      IMPLEMENT (accept_stream_tube);
      IMPLEMENT (close_tube);
      IMPLEMENT (get_d_bus_tube_address);
      IMPLEMENT (get_d_bus_names);
      IMPLEMENT (get_stream_tube_socket_address);
    #undef IMPLEMENT
    }

### tp_svc_channel_type_tubes_accept_d_bus_tube_impl ()

    void                (*tp_svc_channel_type_tubes_accept_d_bus_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method AcceptDBusTube on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_ID` : | guint (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_accept_d_bus_tube ()

    void                tp_svc_channel_type_tubes_implement_accept_d_bus_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_accept_d_bus_tube_impl impl);

Register an implementation for the AcceptDBusTube method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the AcceptDBusTube D-Bus method

### tp_svc_channel_type_tubes_return_from_accept_d_bus_tube ()

    void                tp_svc_channel_type_tubes_return_from_accept_d_bus_tube
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Address);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Address` : | const gchar * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_accept_stream_tube_impl ()

    void                (*tp_svc_channel_type_tubes_accept_stream_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             guint in_Address_Type,
                                                             guint in_Access_Control,
                                                             const GValue *in_Access_Control_Param,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method AcceptStreamTube on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_ID` : | guint (FIXME, generate documentation)
`in_Address_Type` : | guint (FIXME, generate documentation)
`in_Access_Control` : | guint (FIXME, generate documentation)
`in_Access_Control_Param` : | const GValue * (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_accept_stream_tube ()

    void                tp_svc_channel_type_tubes_implement_accept_stream_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_accept_stream_tube_impl impl);

Register an implementation for the AcceptStreamTube method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the AcceptStreamTube D-Bus method

### tp_svc_channel_type_tubes_return_from_accept_stream_tube ()

    void                tp_svc_channel_type_tubes_return_from_accept_stream_tube
                                                            (DBusGMethodInvocation *context,
                                                             const GValue *out_Address);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Address` : | const GValue * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_close_tube_impl ()

    void                (*tp_svc_channel_type_tubes_close_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method CloseTube on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_ID` : | guint (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_close_tube ()

    void                tp_svc_channel_type_tubes_implement_close_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_close_tube_impl impl);

Register an implementation for the CloseTube method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the CloseTube D-Bus method

### tp_svc_channel_type_tubes_return_from_close_tube ()

    void                tp_svc_channel_type_tubes_return_from_close_tube
                                                            (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context

### tp_svc_channel_type_tubes_get_available_stream_tube_types_impl ()

    void                (*tp_svc_channel_type_tubes_get_available_stream_tube_types_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetAvailableStreamTubeTypes on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_get_available_stream_tube_types ()

    void                tp_svc_channel_type_tubes_implement_get_available_stream_tube_types
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_available_stream_tube_types_impl impl);

Register an implementation for the GetAvailableStreamTubeTypes method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the GetAvailableStreamTubeTypes D-Bus method

### tp_svc_channel_type_tubes_return_from_get_available_stream_tube_types ()

    void                tp_svc_channel_type_tubes_return_from_get_available_stream_tube_types
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Available_Stream_Tube_Types);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Available_Stream_Tube_Types` : | GHashTable * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_get_available_tube_types_impl ()

    void                (*tp_svc_channel_type_tubes_get_available_tube_types_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetAvailableTubeTypes on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_get_available_tube_types ()

    void                tp_svc_channel_type_tubes_implement_get_available_tube_types
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_available_tube_types_impl impl);

Register an implementation for the GetAvailableTubeTypes method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the GetAvailableTubeTypes D-Bus method

### tp_svc_channel_type_tubes_return_from_get_available_tube_types ()

    void                tp_svc_channel_type_tubes_return_from_get_available_tube_types
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Available_Tube_Types);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Available_Tube_Types` : | const GArray * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_get_d_bus_names_impl ()

    void                (*tp_svc_channel_type_tubes_get_d_bus_names_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetDBusNames on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_ID` : | guint (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_get_d_bus_names ()

    void                tp_svc_channel_type_tubes_implement_get_d_bus_names
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_d_bus_names_impl impl);

Register an implementation for the GetDBusNames method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the GetDBusNames D-Bus method

### tp_svc_channel_type_tubes_return_from_get_d_bus_names ()

    void                tp_svc_channel_type_tubes_return_from_get_d_bus_names
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_DBus_Names);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_DBus_Names` : | const GPtrArray * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_get_d_bus_tube_address_impl ()

    void                (*tp_svc_channel_type_tubes_get_d_bus_tube_address_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetDBusTubeAddress on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_ID` : | guint (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_get_d_bus_tube_address ()

    void                tp_svc_channel_type_tubes_implement_get_d_bus_tube_address
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_d_bus_tube_address_impl impl);

Register an implementation for the GetDBusTubeAddress method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the GetDBusTubeAddress D-Bus method

### tp_svc_channel_type_tubes_return_from_get_d_bus_tube_address ()

    void                tp_svc_channel_type_tubes_return_from_get_d_bus_tube_address
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Address);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Address` : | const gchar * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_get_stream_tube_socket_address_impl ()

    void                (*tp_svc_channel_type_tubes_get_stream_tube_socket_address_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             guint in_ID,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetStreamTubeSocketAddress on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_ID` : | guint (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_get_stream_tube_socket_address ()

    void                tp_svc_channel_type_tubes_implement_get_stream_tube_socket_address
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_get_stream_tube_socket_address_impl impl);

Register an implementation for the GetStreamTubeSocketAddress method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the GetStreamTubeSocketAddress D-Bus method

### tp_svc_channel_type_tubes_return_from_get_stream_tube_socket_address ()

    void                tp_svc_channel_type_tubes_return_from_get_stream_tube_socket_address
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Address_Type,
                                                             const GValue *out_Address);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Address_Type` : | guint (FIXME, generate documentation)
`out_Address` : | const GValue * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_list_tubes_impl ()

    void                (*tp_svc_channel_type_tubes_list_tubes_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method ListTubes on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_list_tubes ()

    void                tp_svc_channel_type_tubes_implement_list_tubes
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_list_tubes_impl impl);

Register an implementation for the ListTubes method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the ListTubes D-Bus method

### tp_svc_channel_type_tubes_return_from_list_tubes ()

    void                tp_svc_channel_type_tubes_return_from_list_tubes
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Tubes);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Tubes` : | const GPtrArray * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_offer_d_bus_tube_impl ()

    void                (*tp_svc_channel_type_tubes_offer_d_bus_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             const gchar *in_Service,
                                                             GHashTable *in_Parameters,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method OfferDBusTube on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_Service` : | const gchar * (FIXME, generate documentation)
`in_Parameters` : | GHashTable * (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_offer_d_bus_tube ()

    void                tp_svc_channel_type_tubes_implement_offer_d_bus_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_offer_d_bus_tube_impl impl);

Register an implementation for the OfferDBusTube method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the OfferDBusTube D-Bus method

### tp_svc_channel_type_tubes_return_from_offer_d_bus_tube ()

    void                tp_svc_channel_type_tubes_return_from_offer_d_bus_tube
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Tube_ID);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Tube_ID` : | guint (FIXME, generate documentation)

### tp_svc_channel_type_tubes_offer_stream_tube_impl ()

    void                (*tp_svc_channel_type_tubes_offer_stream_tube_impl)
                                                            (TpSvcChannelTypeTubes *self,
                                                             const gchar *in_Service,
                                                             GHashTable *in_Parameters,
                                                             guint in_Address_Type,
                                                             const GValue *in_Address,
                                                             guint in_Access_Control,
                                                             const GValue *in_Access_Control_Param,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method OfferStreamTube on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`self` : | The object implementing this interface
`in_Service` : | const gchar * (FIXME, generate documentation)
`in_Parameters` : | GHashTable * (FIXME, generate documentation)
`in_Address_Type` : | guint (FIXME, generate documentation)
`in_Address` : | const GValue * (FIXME, generate documentation)
`in_Access_Control` : | guint (FIXME, generate documentation)
`in_Access_Control_Param` : | const GValue * (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_tubes_implement_offer_stream_tube ()

    void                tp_svc_channel_type_tubes_implement_offer_stream_tube
                                                            (TpSvcChannelTypeTubesClass *klass,
                                                             tp_svc_channel_type_tubes_offer_stream_tube_impl impl);

Register an implementation for the OfferStreamTube method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the OfferStreamTube D-Bus method

### tp_svc_channel_type_tubes_return_from_offer_stream_tube ()

    void                tp_svc_channel_type_tubes_return_from_offer_stream_tube
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Tube_ID);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context
`out_Tube_ID` : | guint (FIXME, generate documentation)

### tp_svc_channel_type_tubes_emit_d_bus_names_changed ()

    void                tp_svc_channel_type_tubes_emit_d_bus_names_changed
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             const GPtrArray *arg_Added,
                                                             const GArray *arg_Removed);

Type-safe wrapper around g_signal_emit to emit the DBusNamesChanged signal on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`instance` : | The object implementing this interface
`arg_ID` : | guint (FIXME, generate documentation)
`arg_Added` : | const GPtrArray * (FIXME, generate documentation)
`arg_Removed` : | const GArray * (FIXME, generate documentation)

### tp_svc_channel_type_tubes_emit_new_tube ()

    void                tp_svc_channel_type_tubes_emit_new_tube
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_Initiator,
                                                             guint arg_Type,
                                                             const gchar *arg_Service,
                                                             GHashTable *arg_Parameters,
                                                             guint arg_State);

Type-safe wrapper around g_signal_emit to emit the NewTube signal on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`instance` : | The object implementing this interface
`arg_ID` : | guint (FIXME, generate documentation)
`arg_Initiator` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Service` : | const gchar * (FIXME, generate documentation)
`arg_Parameters` : | GHashTable * (FIXME, generate documentation)
`arg_State` : | guint (FIXME, generate documentation)

### tp_svc_channel_type_tubes_emit_stream_tube_new_connection ()

    void                tp_svc_channel_type_tubes_emit_stream_tube_new_connection
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_Handle);

Type-safe wrapper around g_signal_emit to emit the StreamTubeNewConnection signal on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`instance` : | The object implementing this interface
`arg_ID` : | guint (FIXME, generate documentation)
`arg_Handle` : | guint (FIXME, generate documentation)

### tp_svc_channel_type_tubes_emit_tube_closed ()

    void                tp_svc_channel_type_tubes_emit_tube_closed
                                                            (gpointer instance,
                                                             guint arg_ID);

Type-safe wrapper around g_signal_emit to emit the TubeClosed signal on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`instance` : | The object implementing this interface
`arg_ID` : | guint (FIXME, generate documentation)

### tp_svc_channel_type_tubes_emit_tube_state_changed ()

    void                tp_svc_channel_type_tubes_emit_tube_state_changed
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_State);

Type-safe wrapper around g_signal_emit to emit the TubeStateChanged signal on interface org.freedesktop.Telepathy.Channel.Type.Tubes.

`instance` : | The object implementing this interface
`arg_ID` : | guint (FIXME, generate documentation)
`arg_State` : | guint (FIXME, generate documentation)

## Signal Details

### The `"d-bus-names-changed"` signal

    void                user_function                      (TpSvcChannelTypeTubes *arg_ID,
                                                            guint                  arg_Added,
                                                            GArray_guint_         *arg3,
                                                            gpointer               user_data)      : Run Last / Has Details

The DBusNamesChanged D-Bus signal is emitted whenever this GObject signal is.

`arg_ID` : | guint (FIXME, generate documentation)
`arg_Added` : | const GPtrArray * (FIXME, generate documentation)
`arg_Removed` : | const GArray * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"new-tube"` signal

    void                user_function                      (TpSvcChannelTypeTubes *arg_ID,
                                                            guint                  arg_Initiator,
                                                            guint                  arg_Type,
                                                            guint                  arg_Service,
                                                            gchar                 *arg_Parameters,
                                                            guint                  arg6,
                                                            gpointer               user_data)           : Run Last / Has Details

The NewTube D-Bus signal is emitted whenever this GObject signal is.

`arg_ID` : | guint (FIXME, generate documentation)
`arg_Initiator` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Service` : | const gchar * (FIXME, generate documentation)
`arg_Parameters` : | GHashTable * (FIXME, generate documentation)
`arg_State` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"stream-tube-new-connection"` signal

    void                user_function                      (TpSvcChannelTypeTubes *arg_ID,
                                                            guint                  arg_Handle,
                                                            guint                  arg2,
                                                            gpointer               user_data)       : Run Last / Has Details

The StreamTubeNewConnection D-Bus signal is emitted whenever this GObject signal is.

`arg_ID` : | guint (FIXME, generate documentation)
`arg_Handle` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"tube-closed"` signal

    void                user_function                      (TpSvcChannelTypeTubes *arg_ID,
                                                            guint                  arg1,
                                                            gpointer               user_data)      : Run Last / Has Details

The TubeClosed D-Bus signal is emitted whenever this GObject signal is.

`arg_ID` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"tube-state-changed"` signal

    void                user_function                      (TpSvcChannelTypeTubes *arg_ID,
                                                            guint                  arg_State,
                                                            guint                  arg2,
                                                            gpointer               user_data)      : Run Last / Has Details

The TubeStateChanged D-Bus signal is emitted whenever this GObject signal is.

`arg_ID` : | guint (FIXME, generate documentation)
`arg_State` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.