### Class

# SpiceClientGLib Session

#### Description [src]

    class SpiceClientGLib.Session : GObject.Object
    {
      SpiceSessionPrivate* priv
    }

The `SpiceSession` struct is opaque and should not be accessed directly.

#### Ancestors

- GObject

#### Constructors

###### spice_session_new

Creates a new Spice session.

#### Instance methods

###### spice_session_connect

Open the session using the `SpiceSession:host` and `SpiceSession:port`.

###### spice_session_disconnect

Disconnect the `session`, and destroy all channels.

###### spice_session_get_channels

Get the list of current channels associated with this `session`.

###### spice_session_get_proxy_uri

Gets the `session` proxy uri.

since: 0.24

###### spice_session_get_read_only

Checks whether the `session` is read-only.

###### spice_session_has_channel_type

See if there is a `type` channel in the channels associated with this `session`.

###### spice_session_is_for_migration

During seamless migration, channels may be created to establish a connection with the target, but they are temporary and should only handle migration steps. In order to avoid other interactions with the client, channels should check this value.

since: 0.27

###### spice_session_open_fd

Open the session using the provided `fd` socket file descriptor. This is useful if you create the fd yourself, for example to setup a SSH tunnel.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### SpiceClientGLib.Session:ca

CA certificates in PEM format. The text data can contain several CA certificates identified by:.

since: 0.15

###### SpiceClientGLib.Session:ca-file

File holding the CA certificates for the host the client is connecting to.

###### SpiceClientGLib.Session:cache-size

Images cache size. If 0, don’t set.

since: 0.9

###### SpiceClientGLib.Session:cert-subject

No description available.

###### SpiceClientGLib.Session:ciphers

No description available.

###### SpiceClientGLib.Session:client-sockets

No description available.

###### SpiceClientGLib.Session:color-depth

Display color depth to set on new display channels. If 0, don’t set.

deprecated: 0.37 since: 0.7

###### SpiceClientGLib.Session:disable-effects

A string array of effects to disable. The settings will be applied on new display channels. The following effets can be disabled “wallpaper”, “font-smooth”, “animation”, and “all”, which will disable all the effects. If NULL, don’t apply changes.

since: 0.7

###### SpiceClientGLib.Session:enable-audio

If set to TRUE, the audio channels will be enabled for playback and recording.

since: 0.8

###### SpiceClientGLib.Session:enable-smartcard

If set to TRUE, the smartcard channel will be enabled and smartcard events will be forwarded to the guest.

since: 0.7

###### SpiceClientGLib.Session:enable-usbredir

If set to TRUE, the usbredir channel will be enabled and USB devices can be redirected to the guest.

since: 0.8

###### SpiceClientGLib.Session:gl-scanout

Whether to enable gl-scanout (Unix only). Set to TRUE by default on EGL-enabled host, unless SPICE_DISABLE_GL_SCANOUT environment variable is set.

since: 0.36

###### SpiceClientGLib.Session:glz-window-size

Glz window size. If 0, don’t set.

since: 0.9

###### SpiceClientGLib.Session:host

URL of the SPICE host to connect to.

###### SpiceClientGLib.Session:inhibit-keyboard-grab

No description available.

###### SpiceClientGLib.Session:migration-state

`SpiceSessionMigration` bit field indicating if a migration is in progress.

###### SpiceClientGLib.Session:name

Spice server name.

since: 0.11

###### SpiceClientGLib.Session:password

TLS password to use.

###### SpiceClientGLib.Session:port

Port to connect to for unencrypted sessions.

###### SpiceClientGLib.Session:preferred-compression

The image compression algorithm the client prefers to use. It is reported to the server.

since: 0.29

###### SpiceClientGLib.Session:protocol

Version of the SPICE protocol to use.

###### SpiceClientGLib.Session:proxy

URI to the proxy server to use when doing network connection. of the form .

since: 0.17

###### SpiceClientGLib.Session:pubkey

No description available.

###### SpiceClientGLib.Session:read-only

Whether this connection is read-only mode.

since: 0.8

###### SpiceClientGLib.Session:secure-channels

A string array of channel types to be secured.

since: 0.20

###### SpiceClientGLib.Session:share-dir-ro

Whether to share the directory read-only.

since: 0.28

###### SpiceClientGLib.Session:shared-dir

Location of the shared directory.

since: 0.24

###### SpiceClientGLib.Session:smartcard-certificates

This property is used when one wants to simulate a smartcard with no hardware smartcard reader. If it’s set to a NULL-terminated string array containing the names of 3 valid certificates, these will be used to simulate a smartcard in the guest See also spice_smartcard_manager_insert_card().

since: 0.7

###### SpiceClientGLib.Session:smartcard-db

Path to the NSS certificate database containing the certificates to use to simulate a software smartcard.

since: 0.7

###### SpiceClientGLib.Session:tls-port

Port to connect to for TLS sessions.

###### SpiceClientGLib.Session:unix-path

Path of the Unix socket to connect to.

since: 0.28

###### SpiceClientGLib.Session:uri

URI of the SPICE host to connect to. The URI is of the form spice://hostname?port=XXX or spice://hostname?tls_port=XXX.

###### SpiceClientGLib.Session:username

Username to use.

###### SpiceClientGLib.Session:uuid

Spice server uuid.

since: 0.11

###### SpiceClientGLib.Session:verify

`SpiceSessionVerify` bit field indicating which parts of the peer certificate should be checked.

###### SpiceClientGLib.Session:webdav-server

Phodav server that is internally used by `SpiceSession` to make `SpiceSession:shared-dir` available to the host.

since: 0.39

#### Signals

###### SpiceClientGLib.Session::channel-destroy

The `SpiceSession::channel-destroy` signal is emitted each time a `SpiceChannel` is destroyed.

###### SpiceClientGLib.Session::channel-new

The `SpiceSession::channel-new` signal is emitted each time a `SpiceChannel` is created.

###### SpiceClientGLib.Session::disconnected

The `SpiceSession::disconnected` signal is emitted when all channels have been destroyed.

since: 0.35

###### SpiceClientGLib.Session::mm-time-reset

The `SpiceSession::mm-time-reset` is emitted when we identify discontinuity in mm-time.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct SpiceClientGLibSessionClass {
      GObjectClass parent_class;
      void (* channel_new) (
        SpiceSession* session,
        SpiceChannel* channel
      );
      void (* channel_destroy) (
        SpiceSession* session,
        SpiceChannel* channel
      );

    }

Class structure for `SpiceSession`.

###### Class members

`parent_class: GObjectClass`

  Parent class.

`channel_new: void (* channel_new) ( SpiceSession* session, SpiceChannel* channel )`

  Signal class handler for the `SpiceSession::channel_new` signal.

`channel_destroy: void (* channel_destroy) ( SpiceSession* session, SpiceChannel* channel )`

  Signal class handler for the `SpiceSession::channel_destroy` signal.

#### Virtual methods

###### SpiceClientGLib.SessionClass.channel_destroy

Signal class handler for the `SpiceSession::channel_destroy` signal.

###### SpiceClientGLib.SessionClass.channel_new

Signal class handler for the `SpiceSession::channel_new` signal.