Top |
gint | channel-id | Read / Write / Construct Only |
gint | channel-type | Read / Write / Construct Only |
GSocket * | socket | Read |
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.
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
“socket”
property“socket” GSocket *
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.
Flags: Read
Since: 0.33
“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