### Class

# SpiceClientGLib CursorChannel

#### Description [src]

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

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

#### Ancestors

- SpiceChannel
- GObject

#### Instance methods

##### 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.CursorChannel:cursor

The last `SpiceCursorShape` received.

since: 0.34

##### 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.CursorChannel::cursor-hide

The `SpiceCursorChannel::cursor-hide` signal is emitted to hide the cursor/pointer on the display area.

###### SpiceClientGLib.CursorChannel::cursor-move

The `SpiceCursorChannel::cursor-move` signal is emitted to update the cursor position on the display area.

###### SpiceClientGLib.CursorChannel::cursor-reset

The `SpiceCursorChannel::cursor-reset` signal is emitted to reset the cursor to its default context.

###### SpiceClientGLib.CursorChannel::cursor-set

The `SpiceCursorChannel::cursor-set` signal is emitted to modify cursor aspect and position on the display area.

deprecated: 0.34

##### 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 SpiceClientGLibCursorChannelClass {
      SpiceChannelClass parent_class;
      void (* cursor_set) (
        SpiceCursorChannel* channel,
        gint width,
        gint height,
        gint hot_x,
        gint hot_y,
        gpointer rgba
      );
      void (* cursor_move) (
        SpiceCursorChannel* channel,
        gint x,
        gint y
      );
      void (* cursor_hide) (
        SpiceCursorChannel* channel
      );
      void (* cursor_reset) (
        SpiceCursorChannel* channel
      );

    }

Class structure for `SpiceCursorChannel`.

###### Class members

`parent_class: SpiceChannelClass`

  Parent class.

`cursor_set: void (* cursor_set) ( SpiceCursorChannel* channel, gint width, gint height, gint hot_x, gint hot_y, gpointer rgba )`

  Signal class handler for the `SpiceCursorChannel::cursor-set` signal.

`cursor_move: void (* cursor_move) ( SpiceCursorChannel* channel, gint x, gint y )`

  Signal class handler for the `SpiceCursorChannel::cursor-move` signal.

`cursor_hide: void (* cursor_hide) ( SpiceCursorChannel* channel )`

  Signal class handler for the `SpiceCursorChannel::cursor-hide` signal.

`cursor_reset: void (* cursor_reset) ( SpiceCursorChannel* channel )`

  Signal class handler for the `SpiceCursorChannel::cursor-reset` signal.

#### Virtual methods

###### SpiceClientGLib.CursorChannelClass.cursor_hide

Signal class handler for the `SpiceCursorChannel::cursor-hide` signal.

###### SpiceClientGLib.CursorChannelClass.cursor_move

Signal class handler for the `SpiceCursorChannel::cursor-move` signal.

###### SpiceClientGLib.CursorChannelClass.cursor_reset

Signal class handler for the `SpiceCursorChannel::cursor-reset` signal.

###### SpiceClientGLib.CursorChannelClass.cursor_set

Signal class handler for the `SpiceCursorChannel::cursor-set` signal.