1 /* 2 * Nautilus-Actions 3 * A Nautilus extension which offers configurable context menu actions. 4 * 5 * Copyright (C) 2005 The GNOME Foundation 6 * Copyright (C) 2006-2008 Frederic Ruaudel and others (see AUTHORS) 7 * Copyright (C) 2009-2014 Pierre Wieser and others (see AUTHORS) 8 * 9 * Nautilus-Actions is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of 12 * the License, or (at your option) any later version. 13 * 14 * Nautilus-Actions 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 GNU 17 * General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with Nautilus-Actions; see the file COPYING. If not, see 21 * <http://www.gnu.org/licenses/>. 22 * 23 * Authors: 24 * Frederic Ruaudel <grumz@grumz.net> 25 * Rodrigo Moya <rodrigo@gnome-db.org> 26 * Pierre Wieser <pwieser@trychlos.org> 27 * ... and many others (see AUTHORS) 28 */ 29 30 #ifndef __NAGP_GCONF_PROVIDER_H__ 31 #define __NAGP_GCONF_PROVIDER_H__ 32 33 /** 34 * SECTION: nagp_gconf_provider 35 * @short_description: #NagpGConfProvider class definition. 36 * @include: na-gconf-provider.h 37 * 38 * This class manages the GConf I/O storage subsystem, or, in other words, 39 * the GConf subsystem as an #NAIIOProvider. As this, it should only be 40 * used through the #NAIIOProvider interface. 41 * 42 * #NagpGConfProvider uses #NAGConfMonitor to watch at the configuration 43 * tree. Modifications are notified to the #NAIIOProvider interface. 44 */ 45 46 #include <glib-object.h> 47 #include <gconf/gconf-client.h> 48 49 G_BEGIN_DECLS 50 51 #define NAGP_GCONF_PROVIDER_TYPE ( nagp_gconf_provider_get_type()) 52 #define NAGP_GCONF_PROVIDER( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NAGP_GCONF_PROVIDER_TYPE, NagpGConfProvider )) 53 #define NAGP_GCONF_PROVIDER_CLASS( klass ) ( G_TYPE_CHECK_CLASS_CAST( klass, NAGP_GCONF_PROVIDER_TYPE, NagpGConfProviderClass )) 54 #define NAGP_IS_GCONF_PROVIDER( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NAGP_GCONF_PROVIDER_TYPE )) 55 #define NAGP_IS_GCONF_PROVIDER_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE(( klass ), NAGP_GCONF_PROVIDER_TYPE )) 56 #define NAGP_GCONF_PROVIDER_GET_CLASS( object ) ( G_TYPE_INSTANCE_GET_CLASS(( object ), NAGP_GCONF_PROVIDER_TYPE, NagpGConfProviderClass )) 57 58 /* private instance data 59 */ 60 typedef struct _NagpGConfProviderPrivate { 61 /*< private >*/ 62 gboolean dispose_has_run; 63 GConfClient *gconf; 64 GList *monitors; 65 guint event_source_id; 66 GTimeVal last_event; 67 } 68 NagpGConfProviderPrivate; 69 70 typedef struct { 71 /*< private >*/ 72 GObject parent; 73 NagpGConfProviderPrivate *private; 74 } 75 NagpGConfProvider; 76 77 typedef struct _NagpGConfProviderClassPrivate NagpGConfProviderClassPrivate; 78 79 typedef struct { 80 /*< private >*/ 81 GObjectClass parent; 82 NagpGConfProviderClassPrivate *private; 83 } 84 NagpGConfProviderClass; 85 86 GType nagp_gconf_provider_get_type ( void ); 87 void nagp_gconf_provider_register_type( GTypeModule *module ); 88 89 G_END_DECLS 90 91 #endif /* __NAGP_GCONF_PROVIDER_H__ */ 92