Top |
gint | channel-id | Read / Write / Construct Only |
gint | channel-type | Read / Write / Construct Only |
SpiceSession * | spice-session | Read / Write / Construct Only |
gulong | total-read-bytes | Read |
GEnum ╰── SpiceChannelEvent GObject ╰── SpiceChannel ├── SpiceCursorChannel ├── SpiceDisplayChannel ├── SpiceInputsChannel ├── SpiceMainChannel ├── SpicePlaybackChannel ├── SpiceRecordChannel ├── SpiceSmartcardChannel ├── SpiceUsbredirChannel ╰── SpicePortChannel
SpiceChannel is the base class for the different kind of Spice channel connections, such as SpiceMainChannel, or SpiceInputsChannel.
SpiceChannel * spice_channel_new (SpiceSession *s
,int type
,int id
);
Create a new SpiceChannel of type type
, and channel ID id
.
void
spice_channel_destroy (SpiceChannel *channel
);
spice_channel_destroy
has been deprecated since version 0.27 and should not be used in newly-written code.
this function has been deprecated because it is
misleading, the object is not actually destroyed. Instead, it is
recommended to call explicitely spice_channel_disconnect()
and
g_object_unref()
.
Disconnect and unref the channel
.
gboolean
spice_channel_connect (SpiceChannel *channel
);
Connect the channel, using SpiceSession connection informations
gboolean spice_channel_open_fd (SpiceChannel *channel
,int fd
);
Connect the channel using fd
socket.
If fd
is -1, a valid fd will be requested later via the
SpiceChannel::open-fd signal.
void spice_channel_disconnect (SpiceChannel *channel
,SpiceChannelEvent reason
);
Close the socket and reset connection specific data. Finally, emit
reason
“channel-event” on main context if not
SPICE_CHANNEL_NONE.
gboolean spice_channel_test_capability (SpiceChannel *channel
,guint32 cap
);
Test availability of remote "channel kind capability".
gboolean spice_channel_test_common_capability (SpiceChannel *channel
,guint32 cap
);
Test availability of remote "common channel capability".
const gchar *
spice_channel_type_to_string (gint type
);
Convert a channel-type property value to a string.
Since: 0.20
gint
spice_channel_string_to_type (const gchar *str
);
Convert a channel-type property value to a string.
Since: 0.21
void spice_channel_set_capability (SpiceChannel *channel
,guint32 cap
);
spice_channel_set_capability
has been deprecated since version 0.13 and should not be used in newly-written code.
this function has been removed
Enable specific channel-kind capability.
void spice_channel_flush_async (SpiceChannel *channel
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Forces an asynchronous write of all user-space buffered data for the given channel.
When the operation is finished callback will be called. You can
then call spice_channel_flush_finish()
to get the result of the
operation.
channel |
||
cancellable |
optional GCancellable object, |
[allow-none] |
callback |
callback to call when the request is satisfied. |
[scope async] |
user_data |
the data to pass to callback function. |
[closure] |
Since: 0.15
gboolean spice_channel_flush_finish (SpiceChannel *channel
,GAsyncResult *result
,GError **error
);
Finishes flushing a channel.
Since: 0.15
const GError *
spice_channel_get_error (SpiceChannel *channel
);
Retrieves the GError currently set on channel, if the SpiceChannel is in error state and can provide additional error details.
Since: 0.24
An event, emitted by “channel-event” signal.
typedef struct _SpiceChannel SpiceChannel;
The SpiceChannel struct is opaque and should not be accessed directly.
typedef struct { GObjectClass parent_class; /* signals, main context */ void (*channel_event)(SpiceChannel *channel, SpiceChannelEvent event); void (*open_fd)(SpiceChannel *channel, int with_tls); } SpiceChannelClass;
Class structure for SpiceChannel.
GObjectClass |
Parent class. |
|
Signal class handler for the “channel_event” signal. |
||
Signal class handler for the “open_fd” signal. |
“channel-id”
property“channel-id” gint
Channel ID.
Flags: Read / Write / Construct Only
Allowed values: >= -1
Default value: -1
“channel-type”
property“channel-type” gint
Channel type.
Flags: Read / Write / Construct Only
Allowed values: >= -1
Default value: -1
“spice-session”
property“spice-session” SpiceSession *
Spice session.
Flags: Read / Write / Construct Only
“channel-event”
signalvoid user_function (SpiceChannel *channel, SpiceChannelEvent event, gpointer user_data)
The “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.
channel |
the channel that emitted the signal |
|
event |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run First
“open-fd”
signalvoid user_function (SpiceChannel *channel, gint with_tls, gpointer user_data)
The “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()
.
channel |
the channel that emitted the signal |
|
with_tls |
wether TLS connection is requested |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run First