uploaded spice-vdagent
[platform/adaptation/emulator/spice-vdagent.git] / src / vdagent-x11.h
1 /*  vdagent-x11.h vdagent x11 code header file
2
3     Copyright 2010 Red Hat, Inc.
4
5     Red Hat Authors:
6     Hans de Goede <hdegoede@redhat.com>
7
8     This program is free software: you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by
10     the Free Software Foundation, either version 3 of the License, or   
11     (at your option) any later version.
12
13     This program is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of 
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
16     GNU General Public License for more details.
17
18     You should have received a copy of the GNU General Public License
19     along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 */
21
22 #ifndef __VDAGENT_X11_H
23 #define __VDAGENT_X11_H
24
25 #include <stdio.h>
26 #include <spice/vd_agent.h>
27 #include "udscs.h"
28
29 struct vdagent_x11;
30
31 struct vdagent_x11 *vdagent_x11_create(struct udscs_connection *vdagentd,
32     int debug, int sync);
33 void vdagent_x11_destroy(struct vdagent_x11 *x11, int vdagentd_disconnected);
34
35 int  vdagent_x11_get_fd(struct vdagent_x11 *x11);
36 void vdagent_x11_do_read(struct vdagent_x11 *x11);
37
38 void vdagent_x11_set_monitor_config(struct vdagent_x11 *x11,
39     VDAgentMonitorsConfig *mon_config, int fallback);
40
41 void vdagent_x11_clipboard_grab(struct vdagent_x11 *x11, uint8_t selection,
42     uint32_t *types, uint32_t type_count);
43 void vdagent_x11_clipboard_request(struct vdagent_x11 *x11,
44     uint8_t selection, uint32_t type);
45 void vdagent_x11_clipboard_data(struct vdagent_x11 *x11, uint8_t selection,
46     uint32_t type, uint8_t *data, uint32_t size);
47 void vdagent_x11_clipboard_release(struct vdagent_x11 *x11, uint8_t selection);
48
49 void vdagent_x11_client_disconnected(struct vdagent_x11 *x11);
50
51 int vdagent_x11_has_icons_on_desktop(struct vdagent_x11 *x11);
52
53 #endif