| Spice-GTK Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Signals | ||||
#include <channel-main.h> struct SpiceMainChannel; struct SpiceMainChannelClass; void spice_main_set_display (SpiceMainChannel *channel,int id,int x,int y,int width,int height); void spice_main_set_display_enabled (SpiceMainChannel *channel,int id,gboolean enabled); gboolean spice_main_send_monitor_config (SpiceMainChannel *channel); gboolean spice_main_agent_test_capability (SpiceMainChannel *channel,guint32 cap); void spice_main_clipboard_selection_grab (SpiceMainChannel *channel,guint selection,guint32 *types,int ntypes); void spice_main_clipboard_selection_notify (SpiceMainChannel *channel,guint selection,guint32 type,const guchar *data,size_t size); void spice_main_clipboard_selection_release (SpiceMainChannel *channel,guint selection); void spice_main_clipboard_selection_request (SpiceMainChannel *channel,guint selection,guint32 type); void spice_main_clipboard_grab (SpiceMainChannel *channel,guint32 *types,int ntypes); void spice_main_clipboard_release (SpiceMainChannel *channel); void spice_main_clipboard_notify (SpiceMainChannel *channel,guint32 type,const guchar *data,size_t size); void spice_main_clipboard_request (SpiceMainChannel *channel,guint32 type);
"agent-caps-0" gint : Read "agent-connected" gboolean : Read "color-depth" guint : Read / Write / Construct "disable-animation" gboolean : Read / Write / Construct "disable-display-align" gboolean : Read / Write / Construct "disable-display-position" gboolean : Read / Write / Construct "disable-font-smooth" gboolean : Read / Write / Construct "disable-wallpaper" gboolean : Read / Write / Construct "max-clipboard" gint : Read / Write / Construct "mouse-mode" gint : Read
"main-agent-update" :Run First"main-clipboard" :Run Last"main-clipboard-grab" :Run Last"main-clipboard-release" :Run Last"main-clipboard-request" :Run Last"main-clipboard-selection" :Run Last"main-clipboard-selection-grab" :Run Last"main-clipboard-selection-release" :Run Last"main-clipboard-selection-request" :Run Last"main-mouse-update" :Run First"migration-started" :Run Last
The main channel is the Spice session control channel. It handles communication initialization (channels list), migrations, mouse modes, multimedia time, and agent communication.
struct SpiceMainChannel;
The SpiceMainChannel struct is opaque and should not be accessed directly.
struct SpiceMainChannelClass {
SpiceChannelClass parent_class;
/* signals */
void (*mouse_update)(SpiceChannel *channel);
void (*agent_update)(SpiceChannel *channel);
};
Class structure for SpiceMainChannel.
SpiceChannelClass |
Parent class. |
| Signal class handler for the "mouse-update" signal. | |
| Signal class handler for the "agent-update" signal. |
void spice_main_set_display (SpiceMainChannel *channel,int id,int x,int y,int width,int height);
Notify the guest of screen resolution change. The notification is sent 1 second later, if no further changes happen.
|
display ID |
|
x position |
|
y position |
|
display width |
|
display height |
void spice_main_set_display_enabled (SpiceMainChannel *channel,int id,gboolean enabled);
When sending monitor configuration to agent guest, don't set
display id, which the agent translates to disabling the display
id. Note: this will take effect next time the monitor
configuration is sent.
|
a SpiceMainChannel |
|
display ID (if -1: set all displays) |
|
wether display id is enabled |
Since 0.6
gboolean spice_main_send_monitor_config (SpiceMainChannel *channel);
Send monitors configuration previously set with
spice_main_set_display() and spice_main_set_display_enabled()
Returns : |
TRUE on success. |
gboolean spice_main_agent_test_capability (SpiceMainChannel *channel,guint32 cap);
Test capability of a remote agent.
|
an agent capability identifier |
Returns : |
TRUE if cap (channel kind capability) is available. |
void spice_main_clipboard_selection_grab (SpiceMainChannel *channel,guint selection,guint32 *types,int ntypes);
Grab the guest clipboard, with VD_AGENT_CLIPBOARD types.
|
one of the clipboard VD_AGENT_CLIPBOARD_SELECTION_* |
|
an array of VD_AGENT_CLIPBOARD types available in the clipboard |
|
the number of types
|
Since 0.6
void spice_main_clipboard_selection_notify (SpiceMainChannel *channel,guint selection,guint32 type,const guchar *data,size_t size);
Send the clipboard data to the guest.
|
one of the clipboard VD_AGENT_CLIPBOARD_SELECTION_* |
|
a VD_AGENT_CLIPBOARD type |
|
clipboard data |
|
data length in bytes |
Since 0.6
void spice_main_clipboard_selection_release (SpiceMainChannel *channel,guint selection);
Release the clipboard (for example, when the client looses the clipboard grab): Inform the guest no clipboard data is available.
|
one of the clipboard VD_AGENT_CLIPBOARD_SELECTION_* |
Since 0.6
void spice_main_clipboard_selection_request (SpiceMainChannel *channel,guint selection,guint32 type);
Request clipboard data of type from the guest. The reply is sent
through the "main-clipboard-selection" signal.
|
one of the clipboard VD_AGENT_CLIPBOARD_SELECTION_* |
|
a VD_AGENT_CLIPBOARD type |
Since 0.6
void spice_main_clipboard_grab (SpiceMainChannel *channel,guint32 *types,int ntypes);
spice_main_clipboard_grab has been deprecated since version 0.6 and should not be used in newly-written code. use spice_main_clipboard_selection_grab() instead.
Grab the guest clipboard, with VD_AGENT_CLIPBOARD types.
|
an array of VD_AGENT_CLIPBOARD types available in the clipboard |
|
the number of types
|
void spice_main_clipboard_release (SpiceMainChannel *channel);
spice_main_clipboard_release has been deprecated since version 0.6 and should not be used in newly-written code. use spice_main_clipboard_selection_release() instead.
Release the clipboard (for example, when the client looses the clipboard grab): Inform the guest no clipboard data is available.
void spice_main_clipboard_notify (SpiceMainChannel *channel,guint32 type,const guchar *data,size_t size);
spice_main_clipboard_notify has been deprecated since version 0.6 and should not be used in newly-written code. use spice_main_clipboard_selection_notify() instead.
Send the clipboard data to the guest.
|
a VD_AGENT_CLIPBOARD type |
|
clipboard data |
|
data length in bytes |
void spice_main_clipboard_request (SpiceMainChannel *channel,guint32 type);
spice_main_clipboard_request has been deprecated since version 0.6 and should not be used in newly-written code. use spice_main_clipboard_selection_request() instead.
Request clipboard data of type from the guest. The reply is sent
through the "main-clipboard" signal.
|
a VD_AGENT_CLIPBOARD type |
"agent-caps-0" property "agent-caps-0" gint : Read
Agent capability bits 0 -> 31.
Allowed values: >= 0
Default value: 0
"agent-connected" property "agent-connected" gboolean : Read
Whether the agent is connected.
Default value: FALSE
"color-depth" property "color-depth" guint : Read / Write / Construct
Color depth.
Allowed values: <= 32
Default value: 0
"disable-animation" property "disable-animation" gboolean : Read / Write / Construct
Disable guest animations.
Default value: FALSE
"disable-display-align" property "disable-display-align" gboolean : Read / Write / Construct
Disable automatic horizontal display position alignment.
Default value: FALSE
Since 0.13
"disable-display-position" property "disable-display-position" gboolean : Read / Write / Construct
Disable using display position when setting monitor config.
Default value: TRUE
"disable-font-smooth" property "disable-font-smooth" gboolean : Read / Write / Construct
Disable guest font smoothing.
Default value: FALSE
"disable-wallpaper" property "disable-wallpaper" gboolean : Read / Write / Construct
Disable guest wallpaper.
Default value: FALSE
"max-clipboard" property "max-clipboard" gint : Read / Write / Construct
Maximum size of clipboard operations in bytes (default 100MB, -1 for unlimited size);
Allowed values: >= -1
Default value: 104857600
Since 0.22
"mouse-mode" property "mouse-mode" gint : Read
Spice protocol specifies two mouse modes, client mode and
server mode. In client mode (SPICE_MOUSE_MODE_CLIENT), the
affective mouse is the client side mouse: the client sends
mouse position within the display and the server sends mouse
shape messages. In server mode (SPICE_MOUSE_MODE_SERVER), the
client sends relative mouse movements and the server sends
position and shape commands.
Allowed values: >= 0
Default value: 0
"main-agent-update" signalvoid user_function (SpiceMainChannel *main,
gpointer user_data) : Run First
Notify when the SpiceMainChannel:agent-connected or
SpiceMainChannel:agent-caps-0 property change.
|
the SpiceMainChannel that emitted the signal |
|
user data set when the signal handler was connected. |
"main-clipboard" signalvoid user_function (SpiceMainChannel *main,
guint type,
gpointer data,
guint size,
gpointer user_data) : Run Last
SpiceMainChannel::main-clipboard has been deprecated since version 0.6 and should not be used in newly-written code. use SpiceMainChannel::main-clipboard-selection instead.
Provides guest clipboard data requested by spice_main_clipboard_request().
|
the SpiceMainChannel that emitted the signal |
|
the VD_AGENT_CLIPBOARD data type |
|
clipboard data |
|
size of data in bytes |
|
user data set when the signal handler was connected. |
"main-clipboard-grab" signalgboolean user_function (SpiceMainChannel *main,
gpointer types,
guint ntypes,
gpointer user_data) : Run Last
SpiceMainChannel::main-clipboard-grab has been deprecated since version 0.6 and should not be used in newly-written code. use SpiceMainChannel::main-clipboard-selection-grab instead.
Inform when clipboard data is available from the guest, and for
which types.
|
the SpiceMainChannel that emitted the signal |
|
the VD_AGENT_CLIPBOARD data types |
|
the number of types
|
|
user data set when the signal handler was connected. |
"main-clipboard-release" signalvoid user_function (SpiceMainChannel *main,
gpointer user_data) : Run Last
SpiceMainChannel::main-clipboard-release has been deprecated since version 0.6 and should not be used in newly-written code. use SpiceMainChannel::main-clipboard-selection-release instead.
Inform when the clipboard is released from the guest, when no clipboard data is available from the guest.
|
the SpiceMainChannel that emitted the signal |
|
user data set when the signal handler was connected. |
"main-clipboard-request" signalgboolean user_function (SpiceMainChannel *main,
guint types,
gpointer user_data) : Run Last
SpiceMainChannel::main-clipboard-request has been deprecated since version 0.6 and should not be used in newly-written code. use SpiceMainChannel::main-clipboard-selection-request instead.
|
the SpiceMainChannel that emitted the signal |
|
the VD_AGENT_CLIPBOARD request type |
|
user data set when the signal handler was connected. |
Returns : |
TRUE if the request is successful
Request clipbard data from the client. |
"main-clipboard-selection" signalvoid user_function (SpiceMainChannel *main,
guint arg1,
guint arg2,
gpointer arg3,
guint arg4,
gpointer user_data) : Run Last
|
the SpiceMainChannel that emitted the signal |
|
user data set when the signal handler was connected. |
Since 0.6
"main-clipboard-selection-grab" signalgboolean user_function (SpiceMainChannel *main,
guint types,
gpointer ntypes,
guint arg3,
gpointer user_data) : Run Last
Inform when clipboard data is available from the guest, and for
which types.
|
the SpiceMainChannel that emitted the signal |
|
the VD_AGENT_CLIPBOARD data types |
|
the number of types
|
|
user data set when the signal handler was connected. |
Since 0.6
"main-clipboard-selection-release" signalvoid user_function (SpiceMainChannel *main,
guint arg1,
gpointer user_data) : Run Last
Inform when the clipboard is released from the guest, when no clipboard data is available from the guest.
|
the SpiceMainChannel that emitted the signal |
|
user data set when the signal handler was connected. |
Since 0.6
"main-clipboard-selection-request" signalgboolean user_function (SpiceMainChannel *main,
guint types,
guint Returns,
gpointer user_data) : Run Last
|
the SpiceMainChannel that emitted the signal |
|
the VD_AGENT_CLIPBOARD request type |
|
user data set when the signal handler was connected. |
Returns : |
TRUE if the request is successful
Request clipbard data from the client. |
Since 0.6
"main-mouse-update" signalvoid user_function (SpiceMainChannel *main,
gpointer user_data) : Run First
Notify when the mouse mode has changed.
|
the SpiceMainChannel that emitted the signal |
|
user data set when the signal handler was connected. |
"migration-started" signalvoid user_function (SpiceMainChannel *main,
GObject *session,
gpointer user_data) : Run Last
Inform when migration is starting. Application wishing to make
connections themself can set the "client-sockets"
to TRUE, then follow "channel-new" creation, and
use spice_channel_open_fd() once the socket is created.
|
the SpiceMainChannel that emitted the signal |
|
a migration SpiceSession |
|
user data set when the signal handler was connected. |