![]() |
![]() |
![]() |
Spice-GTK Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
#include <spice-client.h> enum SpiceChannelEvent; SpiceChannel; SpiceChannelClass; SpiceChannel * spice_channel_new (SpiceSession *s
,int type
,int id
); void spice_channel_destroy (SpiceChannel *channel
); gboolean spice_channel_connect (SpiceChannel *channel
); gboolean spice_channel_open_fd (SpiceChannel *channel
,int fd
); void spice_channel_disconnect (SpiceChannel *channel
,SpiceChannelEvent reason
); gboolean spice_channel_test_capability (SpiceChannel *channel
,guint32 cap
); gboolean spice_channel_test_common_capability (SpiceChannel *channel
,guint32 cap
); const gchar * spice_channel_type_to_string (gint type
); gint spice_channel_string_to_type (const gchar *str
); void spice_channel_set_capability (SpiceChannel *channel
,guint32 cap
); void spice_channel_flush_async (SpiceChannel *channel
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
); gboolean spice_channel_flush_finish (SpiceChannel *channel
,GAsyncResult *result
,GError **error
); const GError * spice_channel_get_error (SpiceChannel *channel
);
GEnum +----SpiceChannelEvent
GObject +----SpiceChannel +----SpiceCursorChannel +----SpiceDisplayChannel +----SpiceInputsChannel +----SpiceMainChannel +----SpicePlaybackChannel +----SpiceRecordChannel +----SpiceSmartcardChannel +----SpiceUsbredirChannel +----SpicePortChannel
"channel-id" gint : Read / Write / Construct Only "channel-type" gint : Read / Write / Construct Only "socket" GSocket* : Read "spice-session" SpiceSession* : Read / Write / Construct Only "total-read-bytes" gulong : Read
SpiceChannel is the base class for the different kind of Spice channel connections, such as SpiceMainChannel, or SpiceInputsChannel.
typedef enum { SPICE_CHANNEL_NONE = 0, SPICE_CHANNEL_OPENED = 10, SPICE_CHANNEL_SWITCHING, SPICE_CHANNEL_CLOSED, SPICE_CHANNEL_ERROR_CONNECT = 20, SPICE_CHANNEL_ERROR_TLS, SPICE_CHANNEL_ERROR_LINK, SPICE_CHANNEL_ERROR_AUTH, SPICE_CHANNEL_ERROR_IO, } SpiceChannelEvent;
An event, emitted by "channel-event" signal.
no event, or ignored event | |
connection is authentified and ready | |
disconnecting from the current host and connecting to the target host. | |
connection is closed normally (sent if channel was ready) | |
connection error | |
SSL error | |
error during link process | |
authentication error | |
IO error |
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. |
SpiceChannel * spice_channel_new (SpiceSession *s
,int type
,int id
);
Create a new SpiceChannel of type type
, and channel ID id
.
|
the SpiceSession the channel is linked to |
|
the requested SPICECHANNELPRIVATE type |
|
the channel-id |
Returns : |
a weak reference to SpiceChannel, the session owns the reference |
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
.
|
a SpiceChannel |
gboolean spice_channel_connect (SpiceChannel *channel
);
Connect the channel, using SpiceSession connection informations
|
a SpiceChannel |
Returns : |
TRUE on success. |
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.
|
a SpiceChannel |
|
a file descriptor (socket) or -1. request mechanism |
Returns : |
TRUE on success. |
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.
|
a SpiceChannel |
|
a channel event emitted on main context (or SPICE_CHANNEL_NONE) |
gboolean spice_channel_test_capability (SpiceChannel *channel
,guint32 cap
);
Test availability of remote "channel kind capability".
|
a SpiceChannel |
|
a capability |
Returns : |
TRUE if cap (channel kind capability) is available. |
gboolean spice_channel_test_common_capability (SpiceChannel *channel
,guint32 cap
);
Test availability of remote "common channel capability".
|
a SpiceChannel |
|
a capability |
Returns : |
TRUE if cap (common channel capability) is available. |
const gchar * spice_channel_type_to_string (gint type
);
Convert a channel-type property value to a string.
|
a channel-type property value |
Returns : |
string representation of type . |
Since 0.20
gint spice_channel_string_to_type (const gchar *str
);
Convert a channel-type property value to a string.
|
a string representation of the channel-type property |
Returns : |
the channel-type property value for a str channel |
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.
|
a SpiceChannel |
|
a 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.
|
a SpiceChannel |
|
optional GCancellable object, NULL to ignore. [allow-none]
|
|
callback to call when the request is satisfied. [scope async] |
|
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.
|
a SpiceChannel |
|
a GAsyncResult |
|
a GError location to store the error occurring, or NULL
to ignore. |
Returns : |
TRUE if flush operation succeeded, FALSE otherwise. |
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.
|
a SpiceChannel |
Returns : |
the pointer to the error, or NULL
|
Since 0.24
"channel-id"
property "channel-id" gint : Read / Write / Construct Only
Channel ID.
Allowed values: >= -1
Default value: -1
"channel-type"
property "channel-type" gint : Read / Write / Construct Only
Channel type.
Allowed values: >= -1
Default value: -1
"socket"
property "socket" GSocket* : Read
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
"spice-session"
property"spice-session" SpiceSession* : Read / Write / Construct Only
Spice session.
"channel-event"
signalvoid user_function (SpiceChannel *channel,
SpiceChannelEvent event,
gpointer user_data) : Run First
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.
|
the channel that emitted the signal |
|
a SpiceChannelEvent |
|
user data set when the signal handler was connected. |
"open-fd"
signalvoid user_function (SpiceChannel *channel,
gint with_tls,
gpointer user_data) : Run First
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()
.
|
the channel that emitted the signal |
|
wether TLS connection is requested |
|
user data set when the signal handler was connected. |