release clipboard when owned by agent and active session changes
[vd_agent/hramrach.git] / vdagent-x11.h
blob94ad8c5937c8eab7a25453286456f574845b99de
1 /* vdagent-x11.h vdagent x11 code header file
3 Copyright 2010 Red Hat, Inc.
5 Red Hat Authors:
6 Hans de Goede <hdegoede@redhat.com>
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.
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.
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/>.
22 #ifndef __VDAGENT_H
23 #define __VDAGENT_H
25 #include <spice/vd_agent.h>
26 #include "udscs.h"
28 struct vdagent_x11;
30 struct vdagent_x11 *vdagent_x11_create(struct udscs_connection *vdagentd,
31 int verbose);
32 void vdagent_x11_destroy(struct vdagent_x11 *x11);
34 int vdagent_x11_get_fd(struct vdagent_x11 *x11);
35 void vdagent_x11_do_read(struct vdagent_x11 *x11);
37 void vdagent_x11_set_monitor_config(struct vdagent_x11 *x11,
38 VDAgentMonitorsConfig *mon_config);
39 void vdagent_x11_clipboard_grab(struct vdagent_x11 *x11, uint32_t *types,
40 uint32_t type_count);
41 void vdagent_x11_clipboard_request(struct vdagent_x11 *x11, uint32_t type);
42 void vdagent_x11_clipboard_data(struct vdagent_x11 *x11, uint32_t type,
43 const uint8_t *data, uint32_t size);
44 void vdagent_x11_clipboard_release(struct vdagent_x11 *x11);
46 #endif