| Top |
| SpiceChannel * | spice_channel_new () |
| void | spice_channel_destroy () |
| gboolean | spice_channel_connect () |
| gboolean | spice_channel_open_fd () |
| void | spice_channel_disconnect () |
| gboolean | spice_channel_test_capability () |
| gboolean | spice_channel_test_common_capability () |
| const gchar * | spice_channel_type_to_string () |
| gint | spice_channel_string_to_type () |
| void | spice_channel_set_capability () |
| void | spice_channel_flush_async () |
| gboolean | spice_channel_flush_finish () |
| const GError * | spice_channel_get_error () |
| 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.
channel |
||
result |
a GAsyncResult |
|
error |
a GError location to store the error occurring, or |
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.
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