1 /***************************************************************************
2  *            brasero-uri-container.h
3  *
4  *  lun mai 22 08:54:18 2006
5  *  Copyright  2006  Rouquier Philippe
6  *  brasero-app@wanadoo.fr
7  ***************************************************************************/
8 
9 /*
10  *  Brasero is free software; you can redistribute it and/or modify
11  *  it under the terms of the GNU General Public License as published by
12  *  the Free Software Foundation; either version 2 of the License, or
13  *  (at your option) any later version.
14  *
15  *  Brasero is distributed in the hope that it will be useful,
16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  *  GNU Library General Public License for more details.
19  *
20  *  You should have received a copy of the GNU General Public License
21  *  along with this program; if not, write to:
22  * 	The Free Software Foundation, Inc.,
23  * 	51 Franklin Street, Fifth Floor
24  * 	Boston, MA  02110-1301, USA.
25  */
26 
27 #ifndef BRASERO_URI_CONTAINER_H
28 #define BRASERO_URI_CONTAINER_H
29 
30 #include <glib.h>
31 #include <glib-object.h>
32 
33 G_BEGIN_DECLS
34 
35 #define BRASERO_TYPE_URI_CONTAINER         (brasero_uri_container_get_type ())
36 #define BRASERO_URI_CONTAINER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), BRASERO_TYPE_URI_CONTAINER, BraseroURIContainer))
37 #define BRASERO_IS_URI_CONTAINER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), BRASERO_TYPE_URI_CONTAINER))
38 #define BRASERO_URI_CONTAINER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BRASERO_TYPE_URI_CONTAINER, BraseroURIContainerIFace))
39 
40 
41 typedef struct _BraseroURIContainer BraseroURIContainer;
42 
43 typedef struct {
44 	GTypeInterface g_iface;
45 
46 	/* signals */
47 	void		(*uri_selected)		(BraseroURIContainer *container);
48 	void		(*uri_activated)	(BraseroURIContainer *container);
49 
50 	/* virtual functions */
51 	gboolean	(*get_boundaries)	(BraseroURIContainer *container,
52 						 gint64 *start,
53 						 gint64 *end);
54 	gchar*		(*get_selected_uri)	(BraseroURIContainer *container);
55 	gchar**		(*get_selected_uris)	(BraseroURIContainer *container);
56 
57 } BraseroURIContainerIFace;
58 
59 
60 GType brasero_uri_container_get_type (void);
61 
62 gboolean
63 brasero_uri_container_get_boundaries (BraseroURIContainer *container,
64 				      gint64 *start,
65 				      gint64 *end);
66 gchar *
67 brasero_uri_container_get_selected_uri (BraseroURIContainer *container);
68 gchar **
69 brasero_uri_container_get_selected_uris (BraseroURIContainer *container);
70 
71 void
72 brasero_uri_container_uri_selected (BraseroURIContainer *container);
73 void
74 brasero_uri_container_uri_activated (BraseroURIContainer *container);
75 
76 G_END_DECLS
77 
78 #endif /* BRASERO_URI_CONTAINER_H */
79