From d00e525efc8be034cd2009100258680a62a87202 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Tue, 23 May 2000 10:15:30 +0000 Subject: Get rid of the old `evolution-service-repository' cruft and start implementing new CORBA storage interfaces for the shell. svn path=/trunk/; revision=3178 --- shell/evolution-service-repository.c | 279 ----------------------------------- 1 file changed, 279 deletions(-) delete mode 100644 shell/evolution-service-repository.c (limited to 'shell/evolution-service-repository.c') diff --git a/shell/evolution-service-repository.c b/shell/evolution-service-repository.c deleted file mode 100644 index 3714ac5a62..0000000000 --- a/shell/evolution-service-repository.c +++ /dev/null @@ -1,279 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ - -/* - * Author: - * Bertrand Guiheneuf (bg@aful.org) - * - * Dumped from bonobo/bonobo-persist-stream.c - * - * (C) 2000 Helix Code, Inc. - */ - -/* - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA - */ - -#include -#include -#include -#include "evolution-service-repository.h" - -/* Parent class */ -static BonoboObjectClass *evolution_service_repository_parent_class; - - -/* CORBA implementation Entry Point Vector */ -POA_Evolution_ServiceRepository__vepv evolution_service_repository_vepv; - - - - - -/* - *function assigned to the - * Evolution::ServiceRepository::set_shell - * method. - * This function calls the set_shell_fn in - * the EvolutionServiceRepository - */ -static void -impl_set_shell (PortableServer_Servant servant, - Evolution_Shell shell, - CORBA_Environment *ev) -{ - BonoboObject *object = bonobo_object_from_servant (servant); - EvolutionServiceRepository *sr = EVOLUTION_SERVICE_REPOSITORY (object); - - if (sr->set_shell_fn != NULL) { - (*sr->set_shell_fn)(sr, shell, sr->closure); - } else { - GtkObjectClass *oc = GTK_OBJECT (sr)->klass; - EvolutionServiceRepositoryClass *class = EVOLUTION_SERVICE_REPOSITORY_CLASS (oc); - (*class->set_shell)(sr, shell); - } - -} - -/** - * evolution_service_repository_get_epv: - * create and initialize the ServiceRepository - * epv. - */ -POA_Evolution_ServiceRepository__epv * -evolution_service_repository_get_epv (void) -{ - POA_Evolution_ServiceRepository__epv *epv; - - epv = g_new0 (POA_Evolution_ServiceRepository__epv, 1); - - epv->set_shell = impl_set_shell; - - return epv; -} - - -/* create the Evolution_ServiceRepository vepv */ -static void -init_service_repository_corba_class (void) -{ - /* create the Bonobo interface epv */ - evolution_service_repository_vepv.Bonobo_Unknown_epv = - bonobo_object_get_epv (); - - /* create the ServiceRepository interface epv. - * Defined above */ - evolution_service_repository_vepv.Evolution_ServiceRepository_epv = - evolution_service_repository_get_epv (); -} - - -/* default implementation for the ::set_shell method */ -static void -evolution_service_repository_set_shell_default (EvolutionServiceRepository *service_repository, - Evolution_Shell shell) -{ - /* do nothing */ -} - - - -static void -evolution_service_repository_destroy (GtkObject *object) -{ - GTK_OBJECT_CLASS (evolution_service_repository_parent_class)->destroy (object); -} - - -/* initialize the Gtk object class */ -static void -evolution_service_repository_class_init (EvolutionServiceRepositoryClass *klass) -{ - GtkObjectClass *object_class = (GtkObjectClass *) klass; - - evolution_service_repository_parent_class = gtk_type_class (bonobo_object_get_type ()); - - /* - * Override and initialize methods - */ - object_class->destroy = evolution_service_repository_destroy; - klass->set_shell = evolution_service_repository_set_shell_default; - - /* create the corba class */ - init_service_repository_corba_class (); -} - -static void -evolution_service_repository_init (EvolutionServiceRepository *service_repository) -{ -} - - -/** - * evolution_service_repository_get_type: - * - * Returns: the GtkType for the EvolutionServiceRepository class. - */ -GtkType -evolution_service_repository_get_type (void) -{ - static GtkType type = 0; - - if (!type){ - GtkTypeInfo info = { - "EvolutionServiceRepository", - sizeof (EvolutionServiceRepository), - sizeof (EvolutionServiceRepositoryClass), - (GtkClassInitFunc) evolution_service_repository_class_init, - (GtkObjectInitFunc) evolution_service_repository_init, - NULL, /* reserved 1 */ - NULL, /* reserved 2 */ - (GtkClassInitFunc) NULL - }; - - type = gtk_type_unique (bonobo_object_get_type (), &info); - } - - return type; -} - - - - -/** - * evolution_service_repository_construct: construct the object - * @sr: the gtk service repository object to construct - * @corba_service_repository: the corresponding corba object - * @set_shell_fn: the ::set_shell implementation for this object - * @closure: data to pass to the set_shell operation - * - * This construct an EvolutionServiceRepository object. - * The caller can give the function that will implement - * the Corba interface. If those methods are %NULL then the - * default class method will be called instead. - * - * Return value: The constructed service repository. - **/ -EvolutionServiceRepository * -evolution_service_repository_construct (EvolutionServiceRepository *sr, - Evolution_ServiceRepository corba_service_repository, - EvolutionServiceRepositorySetShellFn set_shell_fn, - void *closure) -{ - g_return_val_if_fail (sr != NULL, NULL); - g_return_val_if_fail (EVOLUTION_IS_SERVICE_REPOSITORY (sr), NULL); - g_return_val_if_fail (corba_service_repository != CORBA_OBJECT_NIL, NULL); - - bonobo_object_construct (BONOBO_OBJECT (sr), - corba_service_repository); - - sr->closure = closure; - sr->set_shell_fn = set_shell_fn; - - return sr; -} - - -/* - * construct the corba - * Evolution_ServiceRepository object - */ -static Evolution_ServiceRepository -create_evolution_service_repository (BonoboObject *object) -{ - POA_Evolution_ServiceRepository *servant; - CORBA_Environment ev; - - /* create a servant */ - servant = (POA_Evolution_ServiceRepository *) g_new0 (BonoboObjectServant, 1); - - /* initialize its virtual entry point vector */ - servant->vepv = &evolution_service_repository_vepv; - - CORBA_exception_init (&ev); - - /* initialise the servant */ - POA_Evolution_ServiceRepository__init ((PortableServer_Servant) servant, &ev); - if (ev._major != CORBA_NO_EXCEPTION){ - g_free (servant); - CORBA_exception_free (&ev); - return CORBA_OBJECT_NIL; - } - CORBA_exception_free (&ev); - - /* activate it and return */ - return (Evolution_ServiceRepository) bonobo_object_activate_servant (object, servant); -} - - - - - -/** - * evolution_service_repository_new: create a new EvolutionServiceRepository object - * @set_shell_fn: The ::set_shell method - * @closure: The data passed to the ::set_shell method - * - * Create a full EvolutionServiceRepository. Also create the correspoding - * servant. The ::set_shell method calls set_shell_fn unless set_shell_fn - * is %NULL, in which case, the class default method is called. - * - * Return value: The newly created EvolutionServiceRepository object - **/ -EvolutionServiceRepository * -evolution_service_repository_new (EvolutionServiceRepositorySetShellFn set_shell_fn, - void *closure) -{ - Evolution_ServiceRepository corba_sr; - EvolutionServiceRepository *sr; - - /* create the gtk object */ - sr = gtk_type_new (evolution_service_repository_get_type ()); - - /* create the Corba object */ - corba_sr = create_evolution_service_repository ( - BONOBO_OBJECT (sr)); - - /* check for an error in the creation of the corba object */ - if (corba_sr == CORBA_OBJECT_NIL){ - gtk_object_destroy (GTK_OBJECT (sr)); - return NULL; - } - - /* construct the object */ - evolution_service_repository_construct (sr, corba_sr, set_shell_fn, closure); - - return sr; -} -- cgit v1.2.3