![]() |
![]() |
![]() |
Spice-GTK Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
#include <spice-channel.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
);
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 "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 | |
connection is closed normally (sent if channel was ready) | |
connection error | |
SSL error | |
error during link process | |
authentication error | |
IO error |
typedef struct { GObjectClass parent_class; /* signals, main context */ void (*channel_event)(SpiceChannel *channel, SpiceChannelEvent event); void (*open_fd)(SpiceChannel *channel, int with_tls); } SpiceChannelClass;
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
);
Disconnect and unref the channel
. Called by spice_session_disconnect()
gboolean spice_channel_connect (SpiceChannel *channel
);
Connect the channel, using SpiceSession connection informations
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 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 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".
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".
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 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
"channel-id"
property"channel-id" gint : Read / Write / Construct Only
Allowed values: >= -1
Default value: -1
"channel-type"
property"channel-type" gint : Read / Write / Construct Only
Allowed values: >= -1
Default value: -1
"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 change.
|
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. |