### Class

# SpiceClientGLib MainChannel

#### Description [src]

    class SpiceClientGLib.MainChannel : SpiceClientGLib.Channel
    {
      /* No available fields */
    }

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

#### Ancestors

- SpiceChannel
- GObject

#### Instance methods

###### spice_main_channel_agent_test_capability

Test capability of a remote agent.

since: 0.35

###### spice_main_channel_clipboard_selection_grab

Grab the guest clipboard, with #VD_AGENT_CLIPBOARD `types`.

since: 0.35

###### spice_main_channel_clipboard_selection_notify

Send the clipboard data to the guest.

since: 0.35

###### spice_main_channel_clipboard_selection_release

Release the clipboard (for example, when the client loses the clipboard grab): Inform the guest no clipboard data is available.

since: 0.35

###### spice_main_channel_clipboard_selection_request

Request clipboard data of `type` from the guest. The reply is sent through the `SpiceMainChannel::main-clipboard-selection` signal.

since: 0.35

###### spice_main_channel_file_copy_async

Copies the file `sources` to guest.

since: 0.35

###### spice_main_channel_file_copy_finish

Finishes copying the file started with spice_main_file_copy_async().

###### spice_main_channel_request_mouse_mode

Request a mouse mode to the server. The server may not be able to change the mouse mode, but spice-gtk will try to request it when possible.

since: 0.35

###### spice_main_channel_send_monitor_config

Send monitors configuration previously set with `spice_main_set_display()` and spice_main_set_display_enabled().

since: 0.35

###### spice_main_channel_update_display

Update the display `id` resolution.

since: 0.35

###### spice_main_channel_update_display_enabled

When sending monitor configuration to agent guest, if `enabled` is `FALSE`, don’t set display `id`, which the agent translates to disabling the display id. If `enabled` is `TRUE`, the monitor will be included in the next monitor update. Note: this will take effect next time the monitor configuration is sent.

since: 0.35

###### spice_main_channel_update_display_mm

Update the display `id` physical size.

since: 0.39

##### Methods inherited from SpiceChannel (10)

###### spice_channel_connect

Connect the channel, using `SpiceSession` connection informations.

###### spice_channel_destroy

Disconnect and unref the `channel`.

deprecated: 0.27

###### spice_channel_disconnect

Close the socket and reset connection specific data. Finally, emit `reason` `SpiceChannel::channel-event` on main context if not

# SPICE_CHANNEL_NONE.

###### spice_channel_flush_async

Forces an asynchronous write of all user-space buffered data for the given channel.

since: 0.15

###### spice_channel_flush_finish

Finishes flushing a channel.

since: 0.15

###### spice_channel_get_error

Retrieves the `GError` currently set on channel, if the `SpiceChannel` is in error state and can provide additional error details.

since: 0.24

###### spice_channel_open_fd

Connect the channel using `fd` socket.

###### spice_channel_set_capability

Enable specific channel-kind capability.

deprecated: 0.13

###### spice_channel_test_capability

Test availability of remote “channel kind capability”.

###### spice_channel_test_common_capability

Test availability of remote “common channel capability”.

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

Please see GObject for a full list of methods.

#### Properties

###### SpiceClientGLib.MainChannel:agent-caps-0

No description available.

###### SpiceClientGLib.MainChannel:agent-connected

No description available.

###### SpiceClientGLib.MainChannel:color-depth

No description available.

deprecated: 0.37

###### SpiceClientGLib.MainChannel:disable-animation

No description available.

###### SpiceClientGLib.MainChannel:disable-display-align

Disable automatic horizontal display position alignment.

since: 0.13

###### SpiceClientGLib.MainChannel:disable-display-position

No description available.

###### SpiceClientGLib.MainChannel:disable-font-smooth

No description available.

###### SpiceClientGLib.MainChannel:disable-wallpaper

No description available.

###### SpiceClientGLib.MainChannel:max-clipboard

Maximum size of clipboard operations in bytes (default 100MB, -1 for unlimited size);.

since: 0.22

###### SpiceClientGLib.MainChannel:mouse-mode

Spice protocol specifies two mouse modes, client mode and server mode. In client mode (`SPICE_MOUSE_MODE_CLIENT`), the affective mouse is the client side mouse: the client sends mouse position within the display and the server sends mouse shape messages. In server mode (`SPICE_MOUSE_MODE_SERVER`), the client sends relative mouse movements and the server sends position and shape commands.

##### Properties inherited from SpiceChannel (5)

###### SpiceClientGLib.Channel:channel-id

No description available.

###### SpiceClientGLib.Channel:channel-type

No description available.

###### SpiceClientGLib.Channel:socket

Get the underlying `GSocket`. Note that you should not read or write any data to it directly since this will likely corrupt the channel stream. This property is mainly useful to get some connections details.

since: 0.33

###### SpiceClientGLib.Channel:spice-session

No description available.

###### SpiceClientGLib.Channel:total-read-bytes

No description available.

#### Signals

###### SpiceClientGLib.MainChannel::main-agent-update

Notify when the %SpiceMainChannel:agent-connected or %SpiceMainChannel:agent-caps-0 property change.

###### SpiceClientGLib.MainChannel::main-clipboard

Provides guest clipboard data requested by spice_main_clipboard_request().

deprecated: 0.6

###### SpiceClientGLib.MainChannel::main-clipboard-grab

Inform when clipboard data is available from the guest, and for which `types`.

deprecated: 0.6

###### SpiceClientGLib.MainChannel::main-clipboard-release

Inform when the clipboard is released from the guest, when no clipboard data is available from the guest.

deprecated: 0.6

###### SpiceClientGLib.MainChannel::main-clipboard-request

Request clipboard data from the client.

deprecated: 0.6

###### SpiceClientGLib.MainChannel::main-clipboard-selection

Informs that clipboard selection data are available.

since: 0.6

###### SpiceClientGLib.MainChannel::main-clipboard-selection-grab

Inform when clipboard data is available from the guest, and for which `types`.

since: 0.6

###### SpiceClientGLib.MainChannel::main-clipboard-selection-release

Inform when the clipboard is released from the guest, when no clipboard data is available from the guest.

since: 0.6

###### SpiceClientGLib.MainChannel::main-clipboard-selection-request

Request clipboard data from the client.

since: 0.6

###### SpiceClientGLib.MainChannel::main-mouse-update

Notify when the mouse mode has changed.

###### SpiceClientGLib.MainChannel::migration-started

Inform when migration is starting. Application wishing to make connections themself can set the `SpiceSession:client-sockets` to `TRUE`, then follow `SpiceSession::channel-new` creation, and use `spice_channel_open_fd()` once the socket is created.

###### SpiceClientGLib.MainChannel::new-file-transfer

This signal is emitted when a new file transfer task has been initiated on this channel. Client applications may take a reference on the `task` object and use it to monitor the status of the file transfer task.

since: 0.31

##### Signals inherited from SpiceChannel (2)

###### SpiceChannel::channel-event

The `SpiceChannel::channel-event` signal is emitted when the state of the connection is changed. In case of errors, `spice_channel_get_error()` may provide additional informations on the source of the error.

###### SpiceChannel::open-fd

The `SpiceChannel::open-fd` signal is emitted when a new connection is requested. This signal is emitted when the connection is made with spice_session_open_fd().

##### 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 SpiceClientGLibMainChannelClass {
      SpiceChannelClass parent_class;
      void (* mouse_update) (
        SpiceChannel* channel
      );
      void (* agent_update) (
        SpiceChannel* channel
      );

    }

Class structure for `SpiceMainChannel`.

###### Class members

`parent_class: SpiceChannelClass`

  Parent class.

`mouse_update: void (* mouse_update) ( SpiceChannel* channel )`

  Signal class handler for the `SpiceMainChannel::main-mouse-update` signal.

`agent_update: void (* agent_update) ( SpiceChannel* channel )`

  Signal class handler for the `SpiceMainChannel::main-agent-update` signal.