1 /*
2  * vinagre-spice-connection.h
3  * Child class of abstract VinagreConnection, specific to SPICE protocol
4  * This file is part of vinagre
5  *
6  * Copyright (C) 2011 Red Hat, Inc.
7  * Author: Marc-Andre Lureau <marcandre.lureau@redhat.com>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #ifndef __VINAGRE_SPICE_CONNECTION_H__
24 #define __VINAGRE_SPICE_CONNECTION_H__
25 
26 #include <vinagre/vinagre-connection.h>
27 
28 G_BEGIN_DECLS
29 
30 #define VINAGRE_TYPE_SPICE_CONNECTION             (vinagre_spice_connection_get_type ())
31 #define VINAGRE_SPICE_CONNECTION(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), VINAGRE_TYPE_SPICE_CONNECTION, VinagreSpiceConnection))
32 #define VINAGRE_SPICE_CONNECTION_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), VINAGRE_TYPE_SPICE_CONNECTION, VinagreSpiceConnectionClass))
33 #define VINAGRE_IS_SPICE_CONNECTION(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VINAGRE_TYPE_SPICE_CONNECTION))
34 #define VINAGRE_IS_SPICE_CONNECTION_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), VINAGRE_TYPE_SPICE_CONNECTION))
35 #define VINAGRE_SPICE_CONNECTION_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), VINAGRE_TYPE_SPICE_CONNECTION, VinagreSpiceConnectionClass))
36 
37 typedef struct _VinagreSpiceConnectionClass   VinagreSpiceConnectionClass;
38 typedef struct _VinagreSpiceConnection        VinagreSpiceConnection;
39 typedef struct _VinagreSpiceConnectionPrivate VinagreSpiceConnectionPrivate;
40 
41 struct _VinagreSpiceConnectionClass
42 {
43   VinagreConnectionClass parent_class;
44 };
45 
46 struct _VinagreSpiceConnection
47 {
48   VinagreConnection parent_instance;
49   VinagreSpiceConnectionPrivate *priv;
50 };
51 
52 
53 GType vinagre_spice_connection_get_type (void) G_GNUC_CONST;
54 
55 VinagreConnection*  vinagre_spice_connection_new (void);
56 
57 const gchar*	    vinagre_spice_connection_get_desktop_name (VinagreSpiceConnection *conn);
58 void		    vinagre_spice_connection_set_desktop_name (VinagreSpiceConnection *conn,
59 							       const gchar *desktop_name);
60 
61 gboolean	    vinagre_spice_connection_get_view_only    (VinagreSpiceConnection *conn);
62 void		    vinagre_spice_connection_set_view_only    (VinagreSpiceConnection *conn,
63 							       gboolean value);
64 
65 gboolean	    vinagre_spice_connection_get_scaling      (VinagreSpiceConnection *conn);
66 void		    vinagre_spice_connection_set_scaling      (VinagreSpiceConnection *conn,
67 							       gboolean value);
68 
69 gboolean	    vinagre_spice_connection_get_resize_guest (VinagreSpiceConnection *conn);
70 void		    vinagre_spice_connection_set_resize_guest (VinagreSpiceConnection *conn,
71 							       gboolean value);
72 
73 gint		    vinagre_spice_connection_get_fd	      (VinagreSpiceConnection *conn);
74 void		    vinagre_spice_connection_set_fd	      (VinagreSpiceConnection *conn,
75 							       gint value);
76 
77 GSocket *	    vinagre_spice_connection_get_socket	      (VinagreSpiceConnection *conn);
78 void		    vinagre_spice_connection_set_socket	      (VinagreSpiceConnection *conn,
79 							       GSocket *socket);
80 
81 const gchar*	    vinagre_spice_connection_get_ssh_tunnel_host (VinagreSpiceConnection *conn);
82 void		    vinagre_spice_connection_set_ssh_tunnel_host (VinagreSpiceConnection *conn,
83 								  const gchar *host);
84 
85 gboolean	    vinagre_spice_connection_get_auto_clipboard (VinagreSpiceConnection *conn);
86 void		    vinagre_spice_connection_set_auto_clipboard (VinagreSpiceConnection *conn,
87 								 gboolean value);
88 
89 G_END_DECLS
90 
91 #endif /* __VINAGRE_SPICE_CONNECTION_H__  */
92 /* vim: set ts=8: */
93