1 /* vi:set et ai sw=2 sts=2 ts=2: */
2 /*-
3  * Copyright (c) 2007-2009 Jannis Pohlmann <jannis@xfce.org>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General
16  * Public License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 #if !defined(GARCON_INSIDE_GARCON_H) && !defined(GARCON_COMPILATION)
22 #error "Only <garcon/garcon.h> can be included directly. This file may disappear or change contents."
23 #endif
24 
25 #ifndef __GARCON_MENU_DIRECTORY_H__
26 #define __GARCON_MENU_DIRECTORY_H__
27 
28 #include <gio/gio.h>
29 
30 G_BEGIN_DECLS
31 
32 #define GARCON_TYPE_MENU_DIRECTORY            (garcon_menu_directory_get_type ())
33 #define GARCON_MENU_DIRECTORY(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GARCON_TYPE_MENU_DIRECTORY, GarconMenuDirectory))
34 #define GARCON_MENU_DIRECTORY_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GARCON_TYPE_MENU_DIRECTORY, GarconMenuDirectoryClass))
35 #define GARCON_IS_MENU_DIRECTORY(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GARCON_TYPE_MENU_DIRECTORY))
36 #define GARCON_IS_MENU_DIRECTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GARCON_TYPE_MENU_DIRECTORY))
37 #define GARCON_MENU_DIRECTORY_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GARCON_TYPE_MENU_DIRECTORY, GarconMenuDirectoryClass))
38 
39 typedef struct _GarconMenuDirectoryPrivate GarconMenuDirectoryPrivate;
40 typedef struct _GarconMenuDirectoryClass   GarconMenuDirectoryClass;
41 typedef struct _GarconMenuDirectory        GarconMenuDirectory;
42 
43 struct _GarconMenuDirectoryClass
44 {
45   GObjectClass __parent__;
46 };
47 
48 struct _GarconMenuDirectory
49 {
50   GObject __parent__;
51 
52   /* < private > */
53   GarconMenuDirectoryPrivate *priv;
54 };
55 
56 
57 
58 GType                garcon_menu_directory_get_type                (void) G_GNUC_CONST;
59 
60 GarconMenuDirectory *garcon_menu_directory_new                     (GFile               *file) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
61 
62 GFile               *garcon_menu_directory_get_file                (GarconMenuDirectory *directory);
63 const gchar         *garcon_menu_directory_get_name                (GarconMenuDirectory *directory);
64 void                 garcon_menu_directory_set_name                (GarconMenuDirectory *directory,
65                                                                     const gchar         *name);
66 const gchar         *garcon_menu_directory_get_comment             (GarconMenuDirectory *directory);
67 void                 garcon_menu_directory_set_comment             (GarconMenuDirectory *directory,
68                                                                     const gchar         *comment);
69 const gchar         *garcon_menu_directory_get_icon_name           (GarconMenuDirectory *directory);
70 void                 garcon_menu_directory_set_icon_name           (GarconMenuDirectory *directory,
71                                                                     const gchar         *icon_name);
72 gboolean             garcon_menu_directory_get_no_display          (GarconMenuDirectory *directory);
73 void                 garcon_menu_directory_set_no_display          (GarconMenuDirectory *directory,
74                                                                     gboolean             no_display);
75 gboolean             garcon_menu_directory_get_hidden              (GarconMenuDirectory *directory);
76 gboolean             garcon_menu_directory_get_show_in_environment (GarconMenuDirectory *directory);
77 gboolean             garcon_menu_directory_get_visible             (GarconMenuDirectory *directory);
78 gboolean             garcon_menu_directory_equal                   (GarconMenuDirectory *directory,
79                                                                     GarconMenuDirectory *other);
80 
81 G_END_DECLS
82 
83 #endif /* !__GARCON_MENU_DIRECTORY_H__ */
84