## Media channels

Media channels — service-side interfaces for the Streamed Media channel type, and the Call State, DTMF and Media Signalling interfaces

## Functions

void | (*tp_svc_channel_type_streamed_media_list_streams_impl) ()
void | tp_svc_channel_type_streamed_media_implement_list_streams ()
void | tp_svc_channel_type_streamed_media_return_from_list_streams ()
void | (*tp_svc_channel_type_streamed_media_remove_streams_impl) ()
void | tp_svc_channel_type_streamed_media_implement_remove_streams ()
void | tp_svc_channel_type_streamed_media_return_from_remove_streams ()
void | (*tp_svc_channel_type_streamed_media_request_stream_direction_impl) ()
void | tp_svc_channel_type_streamed_media_implement_request_stream_direction ()
void | tp_svc_channel_type_streamed_media_return_from_request_stream_direction ()
void | (*tp_svc_channel_type_streamed_media_request_streams_impl) ()
void | tp_svc_channel_type_streamed_media_implement_request_streams ()
void | tp_svc_channel_type_streamed_media_return_from_request_streams ()
void | tp_svc_channel_type_streamed_media_emit_stream_added ()
void | tp_svc_channel_type_streamed_media_emit_stream_direction_changed ()
void | tp_svc_channel_type_streamed_media_emit_stream_error ()
void | tp_svc_channel_type_streamed_media_emit_stream_removed ()
void | tp_svc_channel_type_streamed_media_emit_stream_state_changed ()
void | tp_svc_channel_interface_call_state_emit_call_state_changed ()
void | (*tp_svc_channel_interface_call_state_get_call_states_impl) ()
void | tp_svc_channel_interface_call_state_implement_get_call_states ()
void | tp_svc_channel_interface_call_state_return_from_get_call_states ()
void | tp_svc_channel_interface_dtmf_implement_multiple_tones ()
void | tp_svc_channel_interface_dtmf_implement_start_tone ()
void | tp_svc_channel_interface_dtmf_implement_stop_tone ()
void | tp_svc_channel_interface_dtmf_return_from_multiple_tones ()
void | tp_svc_channel_interface_dtmf_return_from_start_tone ()
void | tp_svc_channel_interface_dtmf_return_from_stop_tone ()
void | (*tp_svc_channel_interface_dtmf_multiple_tones_impl) ()
void | (*tp_svc_channel_interface_dtmf_start_tone_impl) ()
void | (*tp_svc_channel_interface_dtmf_stop_tone_impl) ()
void | tp_svc_channel_interface_dtmf_emit_sending_tones ()
void | tp_svc_channel_interface_dtmf_emit_stopped_tones ()
void | tp_svc_channel_interface_dtmf_emit_tones_deferred ()
void | (*tp_svc_channel_interface_hold_get_hold_state_impl) ()
void | tp_svc_channel_interface_hold_return_from_get_hold_state ()
void | tp_svc_channel_interface_hold_implement_get_hold_state ()
void | (*tp_svc_channel_interface_hold_request_hold_impl) ()
void | tp_svc_channel_interface_hold_return_from_request_hold ()
void | tp_svc_channel_interface_hold_implement_request_hold ()
void | tp_svc_channel_interface_hold_emit_hold_state_changed ()
void | (*tp_svc_channel_interface_media_signalling_get_session_handlers_impl) ()
void | tp_svc_channel_interface_media_signalling_implement_get_session_handlers ()
void | tp_svc_channel_interface_media_signalling_return_from_get_session_handlers ()
void | tp_svc_channel_interface_media_signalling_emit_new_session_handler ()

## Signals

void | stream-added | Has Details
void | stream-direction-changed | Has Details
void | stream-error | Has Details
void | stream-removed | Has Details
void | stream-state-changed | Has Details
void | call-state-changed | Has Details
void | sending-tones | Has Details
void | stopped-tones | Has Details
void | tones-deferred | Has Details
void | hold-state-changed | Has Details
void | new-session-handler | Has Details

## Types and Values

| TpSvcChannelTypeStreamedMedia
| TpSvcChannelTypeStreamedMediaClass
| TpSvcChannelInterfaceCallState
| TpSvcChannelInterfaceCallStateClass
| TpSvcChannelInterfaceDTMF
| TpSvcChannelInterfaceDTMFClass
| TpSvcChannelInterfaceHold
| TpSvcChannelInterfaceHoldClass
| TpSvcChannelInterfaceMediaSignalling
| TpSvcChannelInterfaceMediaSignallingClass

## Object Hierarchy

        GInterface
        ├── TpSvcChannelInterfaceCallState
        ├── TpSvcChannelInterfaceDTMF
        ├── TpSvcChannelInterfaceHold
        ├── TpSvcChannelInterfaceMediaSignalling
        ╰── TpSvcChannelTypeStreamedMedia

## Known Implementations

TpSvcChannelInterfaceDTMF is implemented by TpBaseCallChannel and TpBaseMediaCallChannel.

TpSvcChannelInterfaceHold is implemented by TpBaseMediaCallChannel.

## Includes

    #include <telepathy-glib/telepathy-glib-dbus.h>

## Description

This section documents the auto-generated C wrappers for the Streamed Media channel type, and some interfaces which are optionally supported by channels of this type.

Streamed Media channels represent real-time audio or video streaming, including voice over IP, webcams, and telephony.

Channels of type Streamed Media may support the Media Signalling interface. If not, the connection manager is assumed to be presenting the media streams to the user automatically (for instance, in a connection manager like gnome-phone-manager or telepathy-snom that remotely controls a telephone, the phone's own speaker and microphone will probably be used directly).

If Media Signalling is supported, the Telepathy client is responsible for actually streaming the media, using the Media Signalling interface to provide signalling (connection managers might implement this interface in terms of Jingle or SDP, for instance).

Channels of type Streamed Media may also support the DTMF and CallState interfaces.

## Functions

### tp_svc_channel_type_streamed_media_list_streams_impl ()

    void
    (*tp_svc_channel_type_streamed_media_list_streams_impl)
                                   (TpSvcChannelTypeStreamedMedia *self,
                                    DBusGMethodInvocation *context);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_implement_list_streams ()

    void
    tp_svc_channel_type_streamed_media_implement_list_streams
                                   (TpSvcChannelTypeStreamedMediaClass *klass,
                                    tp_svc_channel_type_streamed_media_list_streams_impl impl);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_return_from_list_streams ()

    void
    tp_svc_channel_type_streamed_media_return_from_list_streams
                                   (DBusGMethodInvocation *context,
                                    const GPtrArray *out_Streams);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_remove_streams_impl ()

    void
    (*tp_svc_channel_type_streamed_media_remove_streams_impl)
                                   (TpSvcChannelTypeStreamedMedia *self,
                                    const GArray *in_Streams,
                                    DBusGMethodInvocation *context);

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

#### Parameters

self | The object implementing this interface |
in_Streams | const GArray * (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_type_streamed_media_implement_remove_streams ()

    void
    tp_svc_channel_type_streamed_media_implement_remove_streams
                                   (TpSvcChannelTypeStreamedMediaClass *klass,
                                    tp_svc_channel_type_streamed_media_remove_streams_impl impl);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_return_from_remove_streams ()

    void
    tp_svc_channel_type_streamed_media_return_from_remove_streams
                                   (DBusGMethodInvocation *context);

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

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_type_streamed_media_request_stream_direction_impl ()

    void
    (*tp_svc_channel_type_streamed_media_request_stream_direction_impl)
                                   (TpSvcChannelTypeStreamedMedia *self,
                                    guint in_Stream_ID,
                                    guint in_Stream_Direction,
                                    DBusGMethodInvocation *context);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_implement_request_stream_direction ()

    void
    tp_svc_channel_type_streamed_media_implement_request_stream_direction
                                   (TpSvcChannelTypeStreamedMediaClass *klass,
                                    tp_svc_channel_type_streamed_media_request_stream_direction_impl impl);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_return_from_request_stream_direction ()

    void
    tp_svc_channel_type_streamed_media_return_from_request_stream_direction
                                   (DBusGMethodInvocation *context);

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

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_type_streamed_media_request_streams_impl ()

    void
    (*tp_svc_channel_type_streamed_media_request_streams_impl)
                                   (TpSvcChannelTypeStreamedMedia *self,
                                    guint in_Contact_Handle,
                                    const GArray *in_Types,
                                    DBusGMethodInvocation *context);

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

#### Parameters

self | The object implementing this interface |
in_Contact_Handle | guint (FIXME, generate documentation) |
in_Types | const GArray * (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_type_streamed_media_implement_request_streams ()

    void
    tp_svc_channel_type_streamed_media_implement_request_streams
                                   (TpSvcChannelTypeStreamedMediaClass *klass,
                                    tp_svc_channel_type_streamed_media_request_streams_impl impl);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_return_from_request_streams ()

    void
    tp_svc_channel_type_streamed_media_return_from_request_streams
                                   (DBusGMethodInvocation *context,
                                    const GPtrArray *out_Streams);

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

#### Parameters

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

### tp_svc_channel_type_streamed_media_emit_stream_added ()

    void
    tp_svc_channel_type_streamed_media_emit_stream_added
                                   (gpointer instance,
                                    guint arg_Stream_ID,
                                    guint arg_Contact_Handle,
                                    guint arg_Stream_Type);

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

#### Parameters

instance | The object implementing this interface |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Contact_Handle | guint (FIXME, generate documentation) |
arg_Stream_Type | guint (FIXME, generate documentation) |

### tp_svc_channel_type_streamed_media_emit_stream_direction_changed ()

    void
    tp_svc_channel_type_streamed_media_emit_stream_direction_changed
                                   (gpointer instance,
                                    guint arg_Stream_ID,
                                    guint arg_Stream_Direction,
                                    guint arg_Pending_Flags);

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

#### Parameters

instance | The object implementing this interface |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Stream_Direction | guint (FIXME, generate documentation) |
arg_Pending_Flags | guint (FIXME, generate documentation) |

### tp_svc_channel_type_streamed_media_emit_stream_error ()

    void
    tp_svc_channel_type_streamed_media_emit_stream_error
                                   (gpointer instance,
                                    guint arg_Stream_ID,
                                    guint arg_Error_Code,
                                    const gchar *arg_Message);

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

#### Parameters

instance | The object implementing this interface |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Error_Code | guint (FIXME, generate documentation) |
arg_Message | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_type_streamed_media_emit_stream_removed ()

    void
    tp_svc_channel_type_streamed_media_emit_stream_removed
                                   (gpointer instance,
                                    guint arg_Stream_ID);

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

#### Parameters

instance | The object implementing this interface |
arg_Stream_ID | guint (FIXME, generate documentation) |

### tp_svc_channel_type_streamed_media_emit_stream_state_changed ()

    void
    tp_svc_channel_type_streamed_media_emit_stream_state_changed
                                   (gpointer instance,
                                    guint arg_Stream_ID,
                                    guint arg_Stream_State);

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

#### Parameters

instance | The object implementing this interface |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Stream_State | guint (FIXME, generate documentation) |

### tp_svc_channel_interface_call_state_emit_call_state_changed ()

    void
    tp_svc_channel_interface_call_state_emit_call_state_changed
                                   (gpointer instance,
                                    guint arg_Contact,
                                    guint arg_State);

Type-safe wrapper around g_signal_emit to emit the CallStateChanged signal on interface org.freedesktop.Telepathy.Channel.Interface.CallState.

#### Parameters

instance | The object implementing this interface |
arg_Contact | guint (FIXME, generate documentation) |
arg_State | guint (FIXME, generate documentation) |

### tp_svc_channel_interface_call_state_get_call_states_impl ()

    void
    (*tp_svc_channel_interface_call_state_get_call_states_impl)
                                   (TpSvcChannelInterfaceCallState *self,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetCallStates on interface org.freedesktop.Telepathy.Channel.Interface.CallState.

#### Parameters

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

### tp_svc_channel_interface_call_state_implement_get_call_states ()

    void
    tp_svc_channel_interface_call_state_implement_get_call_states
                                   (TpSvcChannelInterfaceCallStateClass *klass,
                                    tp_svc_channel_interface_call_state_get_call_states_impl impl);

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

#### Parameters

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

### tp_svc_channel_interface_call_state_return_from_get_call_states ()

    void
    tp_svc_channel_interface_call_state_return_from_get_call_states
                                   (DBusGMethodInvocation *context,
                                    GHashTable *out_States);

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

#### Parameters

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

### tp_svc_channel_interface_dtmf_implement_multiple_tones ()

    void
    tp_svc_channel_interface_dtmf_implement_multiple_tones
                                   (TpSvcChannelInterfaceDTMFClass *klass,
                                    tp_svc_channel_interface_dtmf_multiple_tones_impl impl);

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

#### Parameters

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

### tp_svc_channel_interface_dtmf_implement_start_tone ()

    void
    tp_svc_channel_interface_dtmf_implement_start_tone
                                   (TpSvcChannelInterfaceDTMFClass *klass,
                                    tp_svc_channel_interface_dtmf_start_tone_impl impl);

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

#### Parameters

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

### tp_svc_channel_interface_dtmf_implement_stop_tone ()

    void
    tp_svc_channel_interface_dtmf_implement_stop_tone
                                   (TpSvcChannelInterfaceDTMFClass *klass,
                                    tp_svc_channel_interface_dtmf_stop_tone_impl impl);

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

#### Parameters

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

### tp_svc_channel_interface_dtmf_return_from_multiple_tones ()

    void
    tp_svc_channel_interface_dtmf_return_from_multiple_tones
                                   (DBusGMethodInvocation *context);

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

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_interface_dtmf_return_from_start_tone ()

    void
    tp_svc_channel_interface_dtmf_return_from_start_tone
                                   (DBusGMethodInvocation *context);

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

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_interface_dtmf_return_from_stop_tone ()

    void
    tp_svc_channel_interface_dtmf_return_from_stop_tone
                                   (DBusGMethodInvocation *context);

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

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_interface_dtmf_multiple_tones_impl ()

    void
    (*tp_svc_channel_interface_dtmf_multiple_tones_impl)
                                   (TpSvcChannelInterfaceDTMF *self,
                                    const gchar *in_Tones,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method MultipleTones on interface org.freedesktop.Telepathy.Channel.Interface.DTMF.

#### Parameters

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

### tp_svc_channel_interface_dtmf_start_tone_impl ()

    void
    (*tp_svc_channel_interface_dtmf_start_tone_impl)
                                   (TpSvcChannelInterfaceDTMF *self,
                                    guint in_Stream_ID,
                                    guchar in_Event,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method StartTone on interface org.freedesktop.Telepathy.Channel.Interface.DTMF.

#### Parameters

self | The object implementing this interface |
in_Stream_ID | guint (FIXME, generate documentation) |
in_Event | guchar (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_interface_dtmf_stop_tone_impl ()

    void
    (*tp_svc_channel_interface_dtmf_stop_tone_impl)
                                   (TpSvcChannelInterfaceDTMF *self,
                                    guint in_Stream_ID,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method StopTone on interface org.freedesktop.Telepathy.Channel.Interface.DTMF.

#### Parameters

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

### tp_svc_channel_interface_dtmf_emit_sending_tones ()

    void
    tp_svc_channel_interface_dtmf_emit_sending_tones
                                   (gpointer instance,
                                    const gchar *arg_Tones);

Type-safe wrapper around g_signal_emit to emit the SendingTones signal on interface org.freedesktop.Telepathy.Channel.Interface.DTMF.

#### Parameters

instance | The object implementing this interface |
arg_Tones | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_interface_dtmf_emit_stopped_tones ()

    void
    tp_svc_channel_interface_dtmf_emit_stopped_tones
                                   (gpointer instance,
                                    gboolean arg_Cancelled);

Type-safe wrapper around g_signal_emit to emit the StoppedTones signal on interface org.freedesktop.Telepathy.Channel.Interface.DTMF.

#### Parameters

instance | The object implementing this interface |
arg_Cancelled | gboolean (FIXME, generate documentation) |

### tp_svc_channel_interface_dtmf_emit_tones_deferred ()

    void
    tp_svc_channel_interface_dtmf_emit_tones_deferred
                                   (gpointer instance,
                                    const gchar *arg_Tones);

Type-safe wrapper around g_signal_emit to emit the TonesDeferred signal on interface org.freedesktop.Telepathy.Channel.Interface.DTMF.

#### Parameters

instance | The object implementing this interface |
arg_Tones | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_interface_hold_get_hold_state_impl ()

    void
    (*tp_svc_channel_interface_hold_get_hold_state_impl)
                                   (TpSvcChannelInterfaceHold *self,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetHoldState on interface org.freedesktop.Telepathy.Channel.Interface.Hold.

#### Parameters

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

### tp_svc_channel_interface_hold_return_from_get_hold_state ()

    void
    tp_svc_channel_interface_hold_return_from_get_hold_state
                                   (DBusGMethodInvocation *context,
                                    guint out_HoldState,
                                    guint out_Reason);

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

#### Parameters

context | The D-Bus method invocation context |
out_HoldState | guint (FIXME, generate documentation) |
out_Reason | guint (FIXME, generate documentation) |

### tp_svc_channel_interface_hold_implement_get_hold_state ()

    void
    tp_svc_channel_interface_hold_implement_get_hold_state
                                   (TpSvcChannelInterfaceHoldClass *klass,
                                    tp_svc_channel_interface_hold_get_hold_state_impl impl);

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

#### Parameters

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

### tp_svc_channel_interface_hold_request_hold_impl ()

    void
    (*tp_svc_channel_interface_hold_request_hold_impl)
                                   (TpSvcChannelInterfaceHold *self,
                                    gboolean in_Hold,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RequestHold on interface org.freedesktop.Telepathy.Channel.Interface.Hold.

#### Parameters

self | The object implementing this interface |
in_Hold | gboolean (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_interface_hold_return_from_request_hold ()

    void
    tp_svc_channel_interface_hold_return_from_request_hold
                                   (DBusGMethodInvocation *context);

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

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_interface_hold_implement_request_hold ()

    void
    tp_svc_channel_interface_hold_implement_request_hold
                                   (TpSvcChannelInterfaceHoldClass *klass,
                                    tp_svc_channel_interface_hold_request_hold_impl impl);

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

#### Parameters

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

### tp_svc_channel_interface_hold_emit_hold_state_changed ()

    void
    tp_svc_channel_interface_hold_emit_hold_state_changed
                                   (gpointer instance,
                                    guint arg_HoldState,
                                    guint arg_Reason);

Type-safe wrapper around g_signal_emit to emit the HoldStateChanged signal on interface org.freedesktop.Telepathy.Channel.Interface.Hold.

#### Parameters

instance | The object implementing this interface |
arg_HoldState | guint (FIXME, generate documentation) |
arg_Reason | guint (FIXME, generate documentation) |

### tp_svc_channel_interface_media_signalling_get_session_handlers_impl ()

    void
    (*tp_svc_channel_interface_media_signalling_get_session_handlers_impl)
                                   (TpSvcChannelInterfaceMediaSignalling *self,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetSessionHandlers on interface org.freedesktop.Telepathy.Channel.Interface.MediaSignalling.

#### Parameters

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

### tp_svc_channel_interface_media_signalling_implement_get_session_handlers ()

    void
    tp_svc_channel_interface_media_signalling_implement_get_session_handlers
                                   (TpSvcChannelInterfaceMediaSignallingClass *klass,
                                    tp_svc_channel_interface_media_signalling_get_session_handlers_impl impl);

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

#### Parameters

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

### tp_svc_channel_interface_media_signalling_return_from_get_session_handlers ()

    void
    tp_svc_channel_interface_media_signalling_return_from_get_session_handlers
                                   (DBusGMethodInvocation *context,
                                    const GPtrArray *out_Session_Handlers);

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

#### Parameters

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

### tp_svc_channel_interface_media_signalling_emit_new_session_handler ()

    void
    tp_svc_channel_interface_media_signalling_emit_new_session_handler
                                   (gpointer instance,
                                    const gchar *arg_Session_Handler,
                                    const gchar *arg_Session_Type);

Type-safe wrapper around g_signal_emit to emit the NewSessionHandler signal on interface org.freedesktop.Telepathy.Channel.Interface.MediaSignalling.

#### Parameters

instance | The object implementing this interface |
arg_Session_Handler | const gchar * (FIXME, generate documentation) |
arg_Session_Type | const gchar * (FIXME, generate documentation) |

## Types and Values

### TpSvcChannelTypeStreamedMedia

    typedef struct _TpSvcChannelTypeStreamedMedia TpSvcChannelTypeStreamedMedia;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelTypeStreamedMediaClass

    typedef struct _TpSvcChannelTypeStreamedMediaClass TpSvcChannelTypeStreamedMediaClass;

The class of TpSvcChannelTypeStreamedMedia.

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_streamed_media (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_type_streamed_media_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (list_streams);
      IMPLEMENT (remove_streams);
      IMPLEMENT (request_stream_direction);
      IMPLEMENT (request_streams);
    #undef IMPLEMENT
    }

### TpSvcChannelInterfaceCallState

    typedef struct _TpSvcChannelInterfaceCallState TpSvcChannelInterfaceCallState;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceCallStateClass

    typedef struct _TpSvcChannelInterfaceCallStateClass TpSvcChannelInterfaceCallStateClass;

The class of TpSvcChannelInterfaceCallState.

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_interface_call_state (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_interface_call_state_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_call_states);
    #undef IMPLEMENT
    }

### TpSvcChannelInterfaceDTMF

    typedef struct _TpSvcChannelInterfaceDTMF TpSvcChannelInterfaceDTMF;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceDTMFClass

    typedef struct _TpSvcChannelInterfaceDTMFClass TpSvcChannelInterfaceDTMFClass;

The class of TpSvcChannelInterfaceDTMF.

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_interface_dtmf (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_interface_dtmf_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (start_tone);
      IMPLEMENT (stop_tone);
      IMPLEMENT (multiple_tones);
    #undef IMPLEMENT
    }

### TpSvcChannelInterfaceHold

    typedef struct _TpSvcChannelInterfaceHold TpSvcChannelInterfaceHold;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceHoldClass

    typedef struct _TpSvcChannelInterfaceHoldClass TpSvcChannelInterfaceHoldClass;

The class of TpSvcChannelInterfaceHold.

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_interface_hold (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_interface_hold_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_hold_state);
      IMPLEMENT (request_hold);
    #undef IMPLEMENT
    }

### TpSvcChannelInterfaceMediaSignalling

    typedef struct _TpSvcChannelInterfaceMediaSignalling TpSvcChannelInterfaceMediaSignalling;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceMediaSignallingClass

    typedef struct _TpSvcChannelInterfaceMediaSignallingClass TpSvcChannelInterfaceMediaSignallingClass;

The class of TpSvcChannelInterfaceMediaSignalling.

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_interface_media_signalling (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_interface_media_signalling_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_session_handlers);
    #undef IMPLEMENT
    }

## Signal Details

### The `“stream-added”` signal

    void
    user_function (TpSvcChannelTypeStreamedMedia *self,
                   guint                          arg_Stream_ID,
                   guint                          arg_Contact_Handle,
                   guint                          arg_Stream_Type,
                   gpointer                       user_data)

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

#### Parameters

self | an object |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Contact_Handle | guint (FIXME, generate documentation) |
arg_Stream_Type | guint (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“stream-direction-changed”` signal

    void
    user_function (TpSvcChannelTypeStreamedMedia *self,
                   guint                          arg_Stream_ID,
                   guint                          arg_Stream_Direction,
                   guint                          arg_Pending_Flags,
                   gpointer                       user_data)

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

#### Parameters

self | an object |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Stream_Direction | guint (FIXME, generate documentation) |
arg_Pending_Flags | guint (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“stream-error”` signal

    void
    user_function (TpSvcChannelTypeStreamedMedia *self,
                   guint                          arg_Stream_ID,
                   guint                          arg_Error_Code,
                   char                          *arg_Message,
                   gpointer                       user_data)

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

#### Parameters

self | an object |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Error_Code | guint (FIXME, generate documentation) |
arg_Message | const gchar * (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“stream-removed”` signal

    void
    user_function (TpSvcChannelTypeStreamedMedia *self,
                   guint                          arg_Stream_ID,
                   gpointer                       user_data)

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

#### Parameters

self | an object |
arg_Stream_ID | guint (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“stream-state-changed”` signal

    void
    user_function (TpSvcChannelTypeStreamedMedia *self,
                   guint                          arg_Stream_ID,
                   guint                          arg_Stream_State,
                   gpointer                       user_data)

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

#### Parameters

self | an object |
arg_Stream_ID | guint (FIXME, generate documentation) |
arg_Stream_State | guint (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“call-state-changed”` signal

    void
    user_function (TpSvcChannelInterfaceCallState *self,
                   guint                           arg_Contact,
                   guint                           arg_State,
                   gpointer                        user_data)

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

#### Parameters

self | an object |
arg_Contact | guint (FIXME, generate documentation) |
arg_State | guint (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“sending-tones”` signal

    void
    user_function (TpSvcChannelInterfaceDTMF *self,
                   char                      *arg_Tones,
                   gpointer                   user_data)

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

#### Parameters

self | an object |
arg_Tones | const gchar * (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“stopped-tones”` signal

    void
    user_function (TpSvcChannelInterfaceDTMF *self,
                   gboolean                   arg_Cancelled,
                   gpointer                   user_data)

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

#### Parameters

self | an object |
arg_Cancelled | gboolean (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“tones-deferred”` signal

    void
    user_function (TpSvcChannelInterfaceDTMF *self,
                   char                      *arg_Tones,
                   gpointer                   user_data)

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

#### Parameters

self | an object |
arg_Tones | const gchar * (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“hold-state-changed”` signal

    void
    user_function (TpSvcChannelInterfaceHold *self,
                   guint                      arg_HoldState,
                   guint                      arg_Reason,
                   gpointer                   user_data)

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

#### Parameters

self | an object |
arg_HoldState | guint (FIXME, generate documentation) |
arg_Reason | guint (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“new-session-handler”` signal

    void
    user_function (TpSvcChannelInterfaceMediaSignalling *self,
                   DBusGObjectPath                      *arg_Session_Handler,
                   char                                 *arg_Session_Type,
                   gpointer                              user_data)

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

#### Parameters

self | an object |
arg_Session_Handler | const gchar * (FIXME, generate documentation) |
arg_Session_Type | const gchar * (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details