/* Generated by GOB (v2.0.9) on Sat May 28 16:31:36 2005 (do not edit directly) */ /* End world hunger, donate to the World Food Programme, http://www.wfp.org */ #ifdef HAVE_CONFIG_H #include #endif #define GOB_VERSION_MAJOR 2 #define GOB_VERSION_MINOR 0 #define GOB_VERSION_PATCHLEVEL 9 #define selfp (self->_priv) #include "xfce-mcs-manager.h" #include "xfce-mcs-manager-private.h" #ifdef G_LIKELY #define ___GOB_LIKELY(expr) G_LIKELY(expr) #define ___GOB_UNLIKELY(expr) G_UNLIKELY(expr) #else /* ! G_LIKELY */ #define ___GOB_LIKELY(expr) (expr) #define ___GOB_UNLIKELY(expr) (expr) #endif /* G_LIKELY */ #line 1 "xfce-mcs-manager.gob" /* TODO! list_lookup */ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_STRING_H #include #endif #include #include static void weak_notify_cb(gpointer data, GObject *where_the_object_was) { xfce_mcs_manager_vanish_object (XFCE_MCS_MANAGER (data), where_the_object_was); } /* static void moo { GdkWindow *gdkwin; gdkwin = gdk_window_lookup (window); if (is_start) gdk_window_add_filter (gdkwin, client_event_filter, data); else gdk_window_remove_filter (gdkwin, client_event_filter, data); } static GdkFilterReturn client_event_filter (GdkXEvent * xevent, GdkEvent * event, gpointer data) { if (mcs_manager_process_event ((McsManager*) data, (XEvent *) xevent)) return GDK_FILTER_REMOVE; else return GDK_FILTER_CONTINUE; } */ static gboolean my_ascii_strcasecmp(gconstpointer a, gconstpointer b) { return g_ascii_strcasecmp ((gchar const *)a, (gchar const *)b) == 0; } #line 77 "xfce-mcs-manager.c" #line 50 "xfce-mcs-manager.gob" #include #include #include "xfce-mcs-channel.h" #line 85 "xfce-mcs-manager.c" /* self casting macros */ #define SELF(x) XFCE_MCS_MANAGER(x) #define SELF_CONST(x) XFCE_MCS_MANAGER_CONST(x) #define IS_SELF(x) XFCE_IS_MCS_MANAGER(x) #define TYPE_SELF XFCE_TYPE_MCS_MANAGER #define SELF_CLASS(x) XFCE_MCS_MANAGER_CLASS(x) #define SELF_GET_CLASS(x) XFCE_MCS_MANAGER_GET_CLASS(x) /* self typedefs */ typedef XfceMcsManager Self; typedef XfceMcsManagerClass SelfClass; /* here are local prototypes */ static void xfce_mcs_manager_class_init (XfceMcsManagerClass * c) G_GNUC_UNUSED; static void xfce_mcs_manager_init (XfceMcsManager * self) G_GNUC_UNUSED; /* pointer to the class of our parent */ static GObjectClass *parent_class = NULL; /* Short form macros */ #define self_new xfce_mcs_manager_new #define self_vanish_object xfce_mcs_manager_vanish_object #define self_register_channel xfce_mcs_manager_register_channel #define self_unregister_channel xfce_mcs_manager_unregister_channel #define self_delete_channel xfce_mcs_manager_delete_channel #define self_get_setting xfce_mcs_manager_get_setting #define self_set_setting xfce_mcs_manager_set_setting #define self_delete_setting xfce_mcs_manager_delete_setting #define self_notify xfce_mcs_manager_notify #define self_set_setting_string xfce_mcs_manager_set_setting_string #define self_set_setting_int xfce_mcs_manager_set_setting_int #define self_set_setting_color xfce_mcs_manager_set_setting_color #define self_add_channel_from_file xfce_mcs_manager_add_channel_from_file #define self_save_channel_to_file xfce_mcs_manager_save_channel_to_file GType xfce_mcs_manager_get_type (void) { static GType type = 0; if ___GOB_UNLIKELY(type == 0) { static const GTypeInfo info = { sizeof (XfceMcsManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) xfce_mcs_manager_class_init, (GClassFinalizeFunc) NULL, NULL /* class_data */, sizeof (XfceMcsManager), 0 /* n_preallocs */, (GInstanceInitFunc) xfce_mcs_manager_init, NULL }; type = g_type_register_static (G_TYPE_OBJECT, "XfceMcsManager", &info, (GTypeFlags)0); } return type; } /* a macro for creating a new object of our type */ #define GET_NEW ((XfceMcsManager *)g_object_new(xfce_mcs_manager_get_type(), NULL)) /* a function for creating a new object of our type */ #include static XfceMcsManager * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED; static XfceMcsManager * GET_NEW_VARG (const char *first, ...) { XfceMcsManager *ret; va_list ap; va_start (ap, first); ret = (XfceMcsManager *)g_object_new_valist (xfce_mcs_manager_get_type (), first, ap); va_end (ap); return ret; } static void ___finalize(GObject *obj_self) { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::finalize" XfceMcsManager *self G_GNUC_UNUSED = XFCE_MCS_MANAGER (obj_self); if(G_OBJECT_CLASS(parent_class)->finalize) \ (* G_OBJECT_CLASS(parent_class)->finalize)(obj_self); #define low (self->low) #define VAR low { #line 58 "xfce-mcs-manager.gob" /* hrm..... mcs_manager_destroy (VAR);*/ VAR = NULL; } #line 179 "xfce-mcs-manager.c" memset(&low, 0, sizeof(low)); #undef VAR #undef low #define channels (self->channels) #define VAR channels { #line 64 "xfce-mcs-manager.gob" g_hash_table_destroy (VAR); } #line 190 "xfce-mcs-manager.c" memset(&channels, 0, sizeof(channels)); #undef VAR #undef channels #define channels_r (self->channels_r) #define VAR channels_r { #line 69 "xfce-mcs-manager.gob" g_hash_table_destroy (VAR); } #line 201 "xfce-mcs-manager.c" memset(&channels_r, 0, sizeof(channels_r)); #undef VAR #undef channels_r } #undef __GOB_FUNCTION__ static void xfce_mcs_manager_class_init (XfceMcsManagerClass * c G_GNUC_UNUSED) { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::class_init" GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) c; parent_class = g_type_class_ref (G_TYPE_OBJECT); g_object_class->finalize = ___finalize; } #undef __GOB_FUNCTION__ #line 92 "xfce-mcs-manager.gob" static void xfce_mcs_manager_init (XfceMcsManager * self G_GNUC_UNUSED) #line 222 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::init" #line 50 "xfce-mcs-manager.gob" self->low = NULL; #line 227 "xfce-mcs-manager.c" { #line 93 "xfce-mcs-manager.gob" self->channels = g_hash_table_new_full (g_str_hash, my_ascii_strcasecmp, g_free, NULL); self->channels_r = g_hash_table_new (g_direct_hash, g_direct_equal); #line 236 "xfce-mcs-manager.c" } } #undef __GOB_FUNCTION__ #line 73 "xfce-mcs-manager.gob" XfceMcsManager * xfce_mcs_manager_new (McsManager * manager) #line 245 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::new" { #line 74 "xfce-mcs-manager.gob" XfceMcsManager *obj; obj = GET_NEW; obj->low = manager; return obj; }} #line 256 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 81 "xfce-mcs-manager.gob" void xfce_mcs_manager_vanish_object (XfceMcsManager * self, GObject * obj) #line 262 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::vanish_object" #line 81 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 81 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 269 "xfce-mcs-manager.c" { #line 82 "xfce-mcs-manager.gob" gchar* channel_name; channel_name = g_hash_table_lookup (self->channels_r, obj); g_hash_table_remove (self->channels_r, obj); if (channel_name) { g_hash_table_remove (self->channels, channel_name); /* remove also frees channel_name */ } }} #line 281 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 102 "xfce-mcs-manager.gob" void xfce_mcs_manager_register_channel (XfceMcsManager * self, XfceMcsChannel * channel) #line 288 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::register_channel" #line 102 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 102 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 295 "xfce-mcs-manager.c" { #line 103 "xfce-mcs-manager.gob" gpointer obj; gchar* xname; gchar const* name; name = xfce_mcs_channel_get_channel_name (channel); obj = g_hash_table_lookup (self->channels, name); g_return_if_fail (obj == NULL); obj = channel; g_object_weak_ref ((GObject *)obj, weak_notify_cb, self); xname = g_strdup (name); g_hash_table_insert (self->channels, xname, obj); g_hash_table_insert (self->channels_r, obj, xname); xfce_mcs_channel_add_to_driver (channel, XFCE_MCS_CHANNEL_SIDE_MANAGER, name); }} #line 317 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 123 "xfce-mcs-manager.gob" void xfce_mcs_manager_unregister_channel (XfceMcsManager * self, XfceMcsChannel * channel) #line 323 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::unregister_channel" #line 123 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 123 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 330 "xfce-mcs-manager.c" { #line 124 "xfce-mcs-manager.gob" /* untested */ gpointer obj; gchar const* name; name = xfce_mcs_channel_get_channel_name (channel); obj = g_hash_table_lookup (self->channels, name); if (obj != channel) return; xfce_mcs_channel_remove_from_driver (channel, XFCE_MCS_CHANNEL_SIDE_MANAGER, name); g_hash_table_remove (self->channels_r, obj); g_hash_table_remove (self->channels, name); g_object_weak_unref ((GObject *)obj, weak_notify_cb, self); }} #line 351 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 143 "xfce-mcs-manager.gob" void xfce_mcs_manager_delete_channel (XfceMcsManager * self, gchar const * name) #line 357 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::delete_channel" #line 143 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 143 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 364 "xfce-mcs-manager.c" { #line 144 "xfce-mcs-manager.gob" if (!self->low) { g_warning ("XfceMcsManager: delete_channel: property screen not set."); return; } mcs_manager_delete_channel (self->low, name); }} #line 374 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 153 "xfce-mcs-manager.gob" McsSetting * xfce_mcs_manager_get_setting (XfceMcsManager * self, gchar const * channel_name, gchar const * name) #line 380 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::get_setting" #line 153 "xfce-mcs-manager.gob" g_return_val_if_fail (self != NULL, (McsSetting * )0); #line 153 "xfce-mcs-manager.gob" g_return_val_if_fail (XFCE_IS_MCS_MANAGER (self), (McsSetting * )0); #line 387 "xfce-mcs-manager.c" { #line 154 "xfce-mcs-manager.gob" McsSetting* setting; setting = mcs_manager_setting_lookup (self->low, name, channel_name); return setting; }} #line 396 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 161 "xfce-mcs-manager.gob" void xfce_mcs_manager_set_setting (XfceMcsManager * self, McsSetting * setting, gchar const * channel_name) #line 402 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::set_setting" #line 161 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 161 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 409 "xfce-mcs-manager.c" { #line 162 "xfce-mcs-manager.gob" if (mcs_manager_set_setting (self->low, setting, channel_name) != MCS_SUCCESS) { g_warning ("XfceMcsManager: set_setting: could not set"); } }} #line 417 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 168 "xfce-mcs-manager.gob" void xfce_mcs_manager_delete_setting (XfceMcsManager * self, gchar const * channel_name, gchar const * name) #line 423 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::delete_setting" #line 168 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 168 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 430 "xfce-mcs-manager.c" { #line 169 "xfce-mcs-manager.gob" if (mcs_manager_delete_setting (self->low, name, channel_name) != MCS_SUCCESS) { g_warning ("XfceMcsManager: set_setting: could not delete"); } }} #line 438 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 175 "xfce-mcs-manager.gob" void xfce_mcs_manager_notify (XfceMcsManager * self, gchar const * channel_name) #line 444 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::notify" #line 175 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 175 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 451 "xfce-mcs-manager.c" { #line 176 "xfce-mcs-manager.gob" if (mcs_manager_notify (self->low, channel_name) != MCS_SUCCESS) { g_warning ("XfceMcsManager: set_setting: could not notify"); } }} #line 459 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 182 "xfce-mcs-manager.gob" void xfce_mcs_manager_set_setting_string (XfceMcsManager * self, gchar const * channel_name, gchar const * name, gchar const * value) #line 465 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::set_setting_string" #line 182 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 182 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 472 "xfce-mcs-manager.c" { #line 183 "xfce-mcs-manager.gob" if (mcs_manager_set_string (self->low, name, channel_name, value) != MCS_SUCCESS) { g_warning ("XfceMcsManager: set_setting: could not set string"); } }} #line 480 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 189 "xfce-mcs-manager.gob" void xfce_mcs_manager_set_setting_int (XfceMcsManager * self, gchar const * channel_name, gchar const * name, gint value) #line 486 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::set_setting_int" #line 189 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 189 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 493 "xfce-mcs-manager.c" { #line 190 "xfce-mcs-manager.gob" if (mcs_manager_set_int (self->low, name, channel_name, value) != MCS_SUCCESS) { g_warning ("XfceMcsManager: set_setting: could not set int"); } }} #line 501 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 196 "xfce-mcs-manager.gob" void xfce_mcs_manager_set_setting_color (XfceMcsManager * self, gchar const * channel_name, gchar const * name, McsColor const * value) #line 507 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::set_setting_color" #line 196 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 196 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 514 "xfce-mcs-manager.c" { #line 197 "xfce-mcs-manager.gob" if (mcs_manager_set_color (self->low, name, channel_name, (McsColor *) value) != MCS_SUCCESS) { g_warning ("XfceMcsManager: set_setting: could not set color"); } }} #line 522 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 203 "xfce-mcs-manager.gob" void xfce_mcs_manager_add_channel_from_file (XfceMcsManager * self, gchar const * channel_name, gchar const * filename) #line 528 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::add_channel_from_file" #line 203 "xfce-mcs-manager.gob" g_return_if_fail (self != NULL); #line 203 "xfce-mcs-manager.gob" g_return_if_fail (XFCE_IS_MCS_MANAGER (self)); #line 535 "xfce-mcs-manager.c" { #line 204 "xfce-mcs-manager.gob" if (!self->low) { g_warning ("XfceMcsManager: add_channel_from_file: no manager"); return; } mcs_manager_add_channel_from_file (self->low, channel_name, filename); }} #line 545 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__ #line 212 "xfce-mcs-manager.gob" gboolean xfce_mcs_manager_save_channel_to_file (XfceMcsManager * self, gchar const * channel_name, gchar const * filename) #line 551 "xfce-mcs-manager.c" { #define __GOB_FUNCTION__ "Xfce:Mcs:Manager::save_channel_to_file" #line 212 "xfce-mcs-manager.gob" g_return_val_if_fail (self != NULL, (gboolean )0); #line 212 "xfce-mcs-manager.gob" g_return_val_if_fail (XFCE_IS_MCS_MANAGER (self), (gboolean )0); #line 558 "xfce-mcs-manager.c" { #line 213 "xfce-mcs-manager.gob" if (!self->low) { g_warning ("XfceMcsManager: save_channel_to_file: no manager"); return FALSE; } return mcs_manager_save_channel_to_file (self->low, channel_name, filename); }} #line 568 "xfce-mcs-manager.c" #undef __GOB_FUNCTION__