## TpHandleChannelsContext TpHandleChannelsContext — context of a Handler.HandleChannels() call |

## Synopsis

    #include <telepathy-glib/handle-channels-context.h>

                        TpHandleChannelsContext;
    void                tp_handle_channels_context_accept   (TpHandleChannelsContext *self);
    void                tp_handle_channels_context_delay    (TpHandleChannelsContext *self);
    void                tp_handle_channels_context_fail     (TpHandleChannelsContext *self,
                                                             const GError *error);
    const GHashTable *  tp_handle_channels_context_get_handler_info
                                                            (TpHandleChannelsContext *self);
    GList *             tp_handle_channels_context_get_requests
                                                            (TpHandleChannelsContext *self);

## Object Hierarchy

      GObject
       +----TpHandleChannelsContext

## Properties

      "account"                  TpAccount*            : Read / Write / Construct Only
      "channels"                 GPtrArray*            : Read / Write / Construct Only
      "connection"               TpConnection*         : Read / Write / Construct Only
      "dbus-context"             gpointer              : Write / Construct Only
      "handler-info"             GHashTable_gchararray+GValue_*  : Read / Write / Construct Only
      "requests-satisfied"       GPtrArray*            : Read / Write / Construct Only
      "user-action-time"         gint64                : Read / Write / Construct Only

## Signals

      "done"                                           : Has Details

## Description

Object used to represent the context of a Handler.HandleChannels() D-Bus call on a TpBaseClient.

## Details

### TpHandleChannelsContext

    typedef struct _TpHandleChannelsContext TpHandleChannelsContext;

Data structure representing the context of a Handler.HandleChannels() call.

Since 0.11.6

### tp_handle_channels_context_accept ()

    void                tp_handle_channels_context_accept   (TpHandleChannelsContext *self);

Called by TpBaseClientClassAddDispatchOperationImpl when it's done so the D-Bus method can return.

The caller is responsible for closing channels with `tp_cli_channel_call_close()` when it has finished handling them.

`self` : | a TpHandleChannelsContext

Since 0.11.6

### tp_handle_channels_context_delay ()

    void                tp_handle_channels_context_delay    (TpHandleChannelsContext *self);

Called by TpBaseClientClassAddDispatchOperationImpl to indicate that it implements the method in an async way. The caller must take a reference to the TpHandleChannelsContext before calling this function, and is responsible for calling either `tp_handle_channels_context_accept()` or `tp_handle_channels_context_fail()` later.

`self` : | a TpHandleChannelsContext

Since 0.11.6

### tp_handle_channels_context_fail ()

    void                tp_handle_channels_context_fail     (TpHandleChannelsContext *self,
                                                             const GError *error);

Called by TpBaseClientClassAddDispatchOperationImpl to raise a D-Bus error.

`self` : | a TpHandleChannelsContext
`error` : | the error to return from the method

Since 0.11.6

### tp_handle_channels_context_get_handler_info ()

    const GHashTable *  tp_handle_channels_context_get_handler_info
                                                            (TpHandleChannelsContext *self);

Return any extra information that accompanied this request to handle channels (the Handler_Info argument from the HandleChannels D-Bus method). Well-known keys for this map will be defined by the Telepathy D-Bus Interface Specification; at the time of writing, none have been defined.

The returned hash table is only valid for as long as `self` is.

`self` : | a channel-handling context
Returns : | extensible extra handler information, in a form suitable for use with `tp_asv_get_string()` etc. [transfer none][element-type utf8 GObject.Value]

Since 0.11.14

### tp_handle_channels_context_get_requests ()

    GList *             tp_handle_channels_context_get_requests
                                                            (TpHandleChannelsContext *self);

Return a list of the TpChannelRequest which have been satisfied by the channels associated with self.

`self` : | a channel-handling context
Returns : | a newly allocated GList of reffed TpChannelRequest. [transfer full][element-type TelepathyGLib.ChannelRequest]

Since 0.13.14

## Property Details

### The `"account"` property

      "account"                  TpAccount*            : Read / Write / Construct Only

A TpAccount object representing the Account of the DispatchOperation that has been passed to HandleChannels. Read-only except during construction.

This property can't be `NULL`.

Since 0.11.6

### The `"channels"` property

      "channels"                 GPtrArray*            : Read / Write / Construct Only

A GPtrArray containing TpChannel objects representing the channels that have been passed to HandleChannels. Read-only except during construction.

This property can't be `NULL`.

Since 0.11.6

### The `"connection"` property

      "connection"               TpConnection*         : Read / Write / Construct Only

A TpConnection object representing the Connection of the DispatchOperation that has been passed to HandleChannels. Read-only except during construction.

This property can't be `NULL`.

Since 0.11.6

### The `"dbus-context"` property

      "dbus-context"             gpointer              : Write / Construct Only

The DBusGMethodInvocation representing the D-Bus context of the HandleChannels call. Can only be written during construction.

Since 0.11.6

### The `"handler-info"` property

      "handler-info"             GHashTable_gchararray+GValue_*  : Read / Write / Construct Only

A GHashTable where the keys are string and values are GValue instances. It represents the Handler_info hash table that has been passed to HandleChannels.

This property can't be `NULL`.

Since 0.11.6

### The `"requests-satisfied"` property

      "requests-satisfied"       GPtrArray*            : Read / Write / Construct Only

A GPtrArray containing TpChannelRequest objects representing the requests that have been passed to HandleChannels. Read-only except during construction.

This property can't be `NULL`.

Since 0.11.6

### The `"user-action-time"` property

      "user-action-time"         gint64                : Read / Write / Construct Only

The time at which user action occurred, or one of the special values `TP_USER_ACTION_TIME_NOT_USER_ACTION` or `TP_USER_ACTION_TIME_CURRENT_TIME` (see "user-action-time" for details)

Read-only except during construction.

Allowed values: >= 0

Default value: 0

Since 0.11.6

## Signal Details

### The `"done"` signal

    void                user_function                      (TpHandleChannelsContext *self,
                                                            gpointer                 user_data)      : Has Details

Emitted when tp_handle_channels_context_accept has been called on `self`.

`self` : | a TpHandleChannelsContext
`user_data` : | user data set when the signal handler was connected.

Since 0.11.6