### Interface

# Gio TlsBackend

since: 2.28

#### Description [src]

    interface Gio.TlsBackend : GObject.Object

TLS (Transport Layer Security, aka SSL) and DTLS backend. This is an internal type used to coordinate the different classes implemented by a TLS backend.

Available since: 2.28

#### Prerequisite

In order to implement TlsBackend, your type must inherit from`GObject`.

#### Functions

###### g_tls_backend_get_default

Gets the default `GTlsBackend` for the system.

since: 2.28

#### Instance methods

###### g_tls_backend_get_certificate_type

Gets the `GType` of `backend`‘s `GTlsCertificate` implementation.

since: 2.28

###### g_tls_backend_get_client_connection_type

Gets the `GType` of `backend`‘s `GTlsClientConnection` implementation.

since: 2.28

###### g_tls_backend_get_default_database

Gets the default `GTlsDatabase` used to verify TLS connections.

since: 2.30

###### g_tls_backend_get_dtls_client_connection_type

Gets the `GType` of `backend`’s `GDtlsClientConnection` implementation.

since: 2.48

###### g_tls_backend_get_dtls_server_connection_type

Gets the `GType` of `backend`’s `GDtlsServerConnection` implementation.

since: 2.48

###### g_tls_backend_get_file_database_type

Gets the `GType` of `backend`‘s `GTlsFileDatabase` implementation.

since: 2.30

###### g_tls_backend_get_server_connection_type

Gets the `GType` of `backend`‘s `GTlsServerConnection` implementation.

since: 2.28

###### g_tls_backend_set_default_database

Set the default `GTlsDatabase` used to verify TLS connections.

since: 2.60

###### g_tls_backend_supports_dtls

Checks if DTLS is supported. DTLS support may not be available even if TLS support is available, and vice-versa.

since: 2.48

###### g_tls_backend_supports_tls

Checks if TLS is supported; if this returns `FALSE` for the default `GTlsBackend`, it means no “real” TLS backend is available.

since: 2.28

#### Interface structure

    struct GioTlsBackendInterface {
      GTypeInterface g_iface;
      gboolean (* supports_tls) (
        GTlsBackend* backend
      );
      GType (* get_certificate_type) (
    void
      );
      GType (* get_client_connection_type) (
    void
      );
      GType (* get_server_connection_type) (
    void
      );
      GType (* get_file_database_type) (
    void
      );
      GTlsDatabase* (* get_default_database) (
        GTlsBackend* backend
      );
      gboolean (* supports_dtls) (
        GTlsBackend* backend
      );
      GType (* get_dtls_client_connection_type) (
    void
      );
      GType (* get_dtls_server_connection_type) (
    void
      );

    }

Provides an interface for describing TLS-related types.

###### Interface members

`g_iface`

    GTypeInterface

| The parent interface.

`supports_tls`

    gboolean (* supports_tls) (
        GTlsBackend* backend
      )

| Returns whether the backend supports TLS.

`get_certificate_type`

    GType (* get_certificate_type) (
    void
      )

| Returns the `GTlsCertificate` implementation type.

`get_client_connection_type`

    GType (* get_client_connection_type) (
    void
      )

| Returns the `GTlsClientConnection` implementation type.

`get_server_connection_type`

    GType (* get_server_connection_type) (
    void
      )

| Returns the `GTlsServerConnection` implementation type.

`get_file_database_type`

    GType (* get_file_database_type) (
    void
      )

| Returns the `GTlsFileDatabase` implementation type.

`get_default_database`

    GTlsDatabase* (* get_default_database) (
        GTlsBackend* backend
      )

| Returns a default `GTlsDatabase` instance.

`supports_dtls`

    gboolean (* supports_dtls) (
        GTlsBackend* backend
      )

| Returns whether the backend supports DTLS.

`get_dtls_client_connection_type`

    GType (* get_dtls_client_connection_type) (
    void
      )

| Returns the `GDtlsClientConnection` implementation type.

`get_dtls_server_connection_type`

    GType (* get_dtls_server_connection_type) (
    void
      )

| Returns the `GDtlsServerConnection` implementation type.

#### Virtual methods

###### Gio.TlsBackend.get_default_database

Gets the default `GTlsDatabase` used to verify TLS connections.

since: 2.30

###### Gio.TlsBackend.supports_dtls

Checks if DTLS is supported. DTLS support may not be available even if TLS support is available, and vice-versa.

since: 2.48

###### Gio.TlsBackend.supports_tls

Checks if TLS is supported; if this returns `FALSE` for the default `GTlsBackend`, it means no “real” TLS backend is available.

since: 2.28