## TpBasePasswordChannel TpBasePasswordChannel — a simple X-TELEPATHY-PASSWORD channel |

## Synopsis

    #include <telepathy-glib/base-password-channel.h>

                        TpBasePasswordChannel;

## Object Hierarchy

      GObject
       +----TpBaseChannel
             +----TpBasePasswordChannel

## Implemented Interfaces

TpBasePasswordChannel implements TpSvcDBusProperties, TpSvcChannel, TpChannelIface, TpExportableChannel, TpSvcChannelTypeServerAuthentication and TpSvcChannelInterfaceSASLAuthentication.

## Properties

      "authentication-method"    gchar*                : Read
      "authorization-identity"   gchar*                : Read
      "available-mechanisms"     GStrv                 : Read
      "can-try-again"            gboolean              : Read
      "default-realm"            gchar*                : Read
      "default-username"         gchar*                : Read
      "has-initial-data"         gboolean              : Read
      "may-save-response"        gboolean              : Read / Write / Construct Only
      "sasl-error"               gchar*                : Read
      "sasl-error-details"       GHashTable_gchararray+GValue_*  : Read
      "sasl-status"              guint                 : Read

## Signals

      "finished"                                       : Run Last

## Description

This class implements a SASL Authentication channel with the X-TELEPATHY-PASSWORD SASL mechanism. Most of the time, you should not use or instantiate this class directly. It is used by TpSimplePasswordManager behind the scenes. In some special circumstances (e.g. when the authentication channel needs to implement additional interfaces), it may be necessary to create your own custom authentication channels instead of letting TpSimplePasswordManager create them automatically. In this case, you should derive your channel from this class and then pass the channel as an argument to `tp_simple_password_manager_prompt_for_channel_async()`.

## Details

### TpBasePasswordChannel

    typedef struct _TpBasePasswordChannel TpBasePasswordChannel;

Data structure representing a channel implementing a SASL Authentication channel with the X-TELEPATHY-PASSWORD SASL mechanism.

Since 0.13.15

## Property Details

### The `"authentication-method"` property

      "authentication-method"    gchar*                : Read

Interface of authentication method.

Default value: ""

### The `"authorization-identity"` property

      "authorization-identity"   gchar*                : Read

Authorization identity.

Default value: ""

### The `"available-mechanisms"` property

      "available-mechanisms"     GStrv                 : Read

The set of mechanisms the server advertised.

### The `"can-try-again"` property

      "can-try-again"            gboolean              : Read

Whether StartMechanism will work in failed states.

Default value: FALSE

### The `"default-realm"` property

      "default-realm"            gchar*                : Read

DefaultRealm.

Default value: ""

### The `"default-username"` property

      "default-username"         gchar*                : Read

DefaultUsername.

Default value: ""

### The `"has-initial-data"` property

      "has-initial-data"         gboolean              : Read

Whether the StartMechanismWithData can be called.

Default value: FALSE

### The `"may-save-response"` property

      "may-save-response"        gboolean              : Read / Write / Construct Only

Whether the client may save the authentication response.

Default value: TRUE

### The `"sasl-error"` property

      "sasl-error"               gchar*                : Read

SASL error.

Default value: ""

### The `"sasl-error-details"` property

      "sasl-error-details"       GHashTable_gchararray+GValue_*  : Read

SASL error details.

### The `"sasl-status"` property

      "sasl-status"              guint                 : Read

The status of the current SASL authentication.

Allowed values: <= 7

Default value: 0

## Signal Details

### The `"finished"` signal

    void                user_function                      (TpBasePasswordChannel *password,
                                                            GString               *domain,
                                                            guint                  code,
                                                            gint                   message,
                                                            gchar                 *arg4,
                                                            gpointer               user_data)      : Run Last

Emitted when either the password has been provided by the user or the authentication has been aborted.

`password` : | the password provided by the user, or `NULL` if the authentication has been aborted
`domain` : | domain of a GError indicating why the authentication has been aborted, or 0
`code` : | error code of a GError indicating why the authentication has been aborted, or 0
`message` : | a message associated with the error, or `NULL`
`user_data` : | user data set when the signal handler was connected.

Since 0.13.15