aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-categories-master-list-wombat.c
diff options
context:
space:
mode:
Diffstat (limited to 'e-util/e-categories-master-list-wombat.c')
-rw-r--r--e-util/e-categories-master-list-wombat.c207
1 files changed, 0 insertions, 207 deletions
diff --git a/e-util/e-categories-master-list-wombat.c b/e-util/e-categories-master-list-wombat.c
deleted file mode 100644
index 29318dec04..0000000000
--- a/e-util/e-categories-master-list-wombat.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * e-categories-master-list.c: the master list of categories.
- *
- * Authors:
- * Chris Lahey <clahey@ximian.com>
- *
- * (C) 1999, 2000 Ximian, Inc.
- */
-#include <config.h>
-
-#include "e-categories-master-list-wombat.h"
-#include "e-categories-config.h"
-
-#include <tree.h>
-#include <parser.h>
-#include <gal/util/e-i18n.h>
-#include <gal/util/e-xml-utils.h>
-#include <bonobo-conf/bonobo-config-database.h>
-#include <bonobo/bonobo-moniker-util.h>
-#include <bonobo/bonobo-exception.h>
-#include <bonobo/bonobo-listener.h>
-#include <bonobo/bonobo-event-source.h>
-
-#define PARENT_TYPE e_categories_master_list_array_get_type ()
-
-#define d(x)
-
-struct _ECategoriesMasterListWombatPriv {
- Bonobo_ConfigDatabase db;
- Bonobo_EventSource_ListenerId listener_id;
-};
-
-static ECategoriesMasterListArrayClass *parent_class;
-
-static void
-ecmlw_load (ECategoriesMasterListWombat *ecmlw)
-{
- char *string;
- gboolean def;
-
- string = bonobo_config_get_string_with_default
- (ecmlw->priv->db,
- "General/CategoryMasterList",
- NULL,
- &def);
-
- /* parse the XML string */
- if (!def) {
- e_categories_master_list_array_from_string (E_CATEGORIES_MASTER_LIST_ARRAY (ecmlw),
- string);
- }
-
- d(g_print ("load: %s\n", string?string:"(nil)"));
-
- g_free (string);
-}
-
-static void
-ecmlw_save (ECategoriesMasterListWombat *ecmlw)
-{
- char *string;
- CORBA_Environment ev;
-
- string = e_categories_master_list_array_to_string (E_CATEGORIES_MASTER_LIST_ARRAY (ecmlw));
-
- d(g_print ("save: %s\n", string));
-
- CORBA_exception_init (&ev);
-
- bonobo_config_set_string (ecmlw->priv->db,
- "General/CategoryMasterList",
- string,
- &ev);
-
- CORBA_exception_free (&ev);
-
- g_free (string);
-}
-
-/**
- * ecmlw_commit:
- * @ecml: the master list to remove from.
- */
-static void
-ecmlw_commit (ECategoriesMasterList *ecml)
-{
- ECategoriesMasterListWombat *ecmlw = E_CATEGORIES_MASTER_LIST_WOMBAT (ecml);
-
- ((ECategoriesMasterListClass *) parent_class)->commit (ecml);
-
- ecmlw_save (ecmlw);
-}
-
-
-/**
- * ecmlw_reset:
- * @ecml: the master list to reset.
- */
-static void
-ecmlw_reset (ECategoriesMasterList *ecml)
-{
- ECategoriesMasterListWombat *ecmlw = E_CATEGORIES_MASTER_LIST_WOMBAT (ecml);
-
- ((ECategoriesMasterListClass *) parent_class)->reset (ecml);
-
- ecmlw_save (ecmlw);
-}
-
-static void
-ecmlw_destroy (GtkObject *object)
-{
- ECategoriesMasterListWombat *ecmlw = E_CATEGORIES_MASTER_LIST_WOMBAT (object);
- CORBA_Environment ev;
-
- CORBA_exception_init (&ev);
-
- /* remove the listener */
-
- bonobo_event_source_client_remove_listener (ecmlw->priv->db,
- ecmlw->priv->listener_id,
- &ev);
- bonobo_object_release_unref (ecmlw->priv->db, &ev);
-
- CORBA_exception_free (&ev);
-
- if (GTK_OBJECT_CLASS (parent_class)->destroy)
- (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
-}
-
-
-static void
-ecmlw_class_init (GtkObjectClass *object_class)
-{
- ECategoriesMasterListClass *ecml_class = E_CATEGORIES_MASTER_LIST_CLASS(object_class);
-
- parent_class = gtk_type_class (PARENT_TYPE);
-
- ecml_class->commit = ecmlw_commit;
-
- ecml_class->reset = ecmlw_reset ;
-
- object_class->destroy = ecmlw_destroy;
-}
-
-static void
-property_change_cb (BonoboListener *listener,
- char *event_name,
- CORBA_any *any,
- CORBA_Environment *ev,
- gpointer user_data)
-{
- ecmlw_load (user_data);
-}
-
-static void
-ecmlw_init (ECategoriesMasterListWombat *ecmlw)
-{
- CORBA_Environment ev;
-
- CORBA_exception_init (&ev);
-
- ecmlw->priv = g_new (ECategoriesMasterListWombatPriv, 1);
- ecmlw->priv->db = bonobo_get_object ("wombat:", "Bonobo/ConfigDatabase", &ev);
-
- /* add a listener */
- ecmlw->priv->listener_id =
- bonobo_event_source_client_add_listener (ecmlw->priv->db, property_change_cb,
- NULL, &ev, ecmlw);
- if (BONOBO_EX (&ev)) {
- CORBA_exception_free (&ev);
- return;
- }
-
- CORBA_exception_free (&ev);
-
- ecmlw_load (ecmlw);
-}
-
-guint
-e_categories_master_list_wombat_get_type (void)
-{
- static guint type = 0;
-
- if (!type) {
- GtkTypeInfo info = {
- "ECategoriesMasterListWombat",
- sizeof (ECategoriesMasterListWombat),
- sizeof (ECategoriesMasterListWombatClass),
- (GtkClassInitFunc) ecmlw_class_init,
- (GtkObjectInitFunc) ecmlw_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- type = gtk_type_unique (PARENT_TYPE, &info);
- }
-
- return type;
-}
-
-ECategoriesMasterList *
-e_categories_master_list_wombat_new (void)
-{
- return E_CATEGORIES_MASTER_LIST (gtk_type_new (e_categories_master_list_wombat_get_type ()));
-}