/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* evolution-session.c * * Copyright (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. * * Author: Ettore Perazzoli */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <gnome.h> #include "Evolution.h" #include "e-util/e-util.h" #include "evolution-session.h" #define PARENT_TYPE bonobo_object_get_type () static BonoboObjectClass *parent_class = NULL; struct _EvolutionSessionPrivate { int dummy; }; enum { LOAD_CONFIGURATION, SAVE_CONFIGURATION, LAST_SIGNAL }; static int signals[LAST_SIGNAL]; /* GtkObject methods. */ static void impl_destroy (GtkObject *object) { EvolutionSession *session; EvolutionSessionPrivate *priv; session = EVOLUTION_SESSION (object); priv = session->priv; g_free (priv); (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } /* CORBA interface implementation. */ static void impl_Evolution_Session_save_configuration (PortableServer_Servant servant, const CORBA_char *prefix, CORBA_Environment *ev) { BonoboObject *self; self = bonobo_object_from_servant (servant); gtk_signal_emit (GTK_OBJECT (self), signals[SAVE_CONFIGURATION], prefix); } static void impl_Evolution_Session_load_configuration (PortableServer_Servant servant, const CORBA_char *prefix, CORBA_Environment *ev) { BonoboObject *self; self = bonobo_object_from_servant (servant); gtk_signal_emit (GTK_OBJECT (self), signals[LOAD_CONFIGURATION], prefix); } /* Initialization. */ static POA_Evolution_Session__vepv Evolution_Session_vepv; static void corba_class_init (void) { POA_Evolution_Session__vepv *vepv; POA_Evolution_Session__epv *epv; PortableServer_ServantBase__epv *base_epv; base_epv = g_new0 (PortableServer_ServantBase__epv, 1); base_epv->_private = NULL; base_epv->finalize = NULL; base_epv->default_POA = NULL; epv = g_new0 (POA_Evolution_Session__epv, 1); epv->save_configuration = impl_Evolution_Session_save_configuration; epv->load_configuration = impl_Evolution_Session_load_configuration; vepv = &Evolution_Session_vepv; vepv->_base_epv = base_epv; vepv->Bonobo_Unknown_epv = bonobo_object_get_epv (); vepv->Evolution_Session_epv = epv; } static void class_init (EvolutionSessionClass *klass) { GtkObjectClass *object_class; object_class = GTK_OBJECT_CLASS (klass); parent_class = gtk_type_class (bonobo_object_get_type ()); object_class->destroy = impl_destroy; signals[LOAD_CONFIGURATION] = gtk_signal_new ("load_configuration", GTK_RUN_FIRST, object_class->type, GTK_SIGNAL_OFFSET (EvolutionSessionClass, load_configuration), gtk_marshal_NONE__STRING, GTK_TYPE_NONE, 1, GTK_TYPE_STRING); signals[SAVE_CONFIGURATION] = gtk_signal_new ("save_configuration", GTK_RUN_FIRST, object_class->type, GTK_SIGNAL_OFFSET (EvolutionSessionClass, save_configuration), gtk_marshal_NONE__STRING, GTK_TYPE_NONE, 1, GTK_TYPE_STRING); corba_class_init (); } static void init (EvolutionSession *session) { EvolutionSessionPrivate *priv; priv = g_new (EvolutionSessionPrivate, 1); session->priv = priv; } static Evolution_Session create_corba_session (BonoboObject *object) { POA_Evolution_Session *servant; CORBA_Environment ev; servant = (POA_Evolution_Session *) g_new0 (BonoboObjectServant, 1); servant->vepv = &Evolution_Session_vepv; CORBA_exception_init (&ev); POA_Evolution_Session__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); return (Evolution_Session) bonobo_object_activate_servant (object, servant); } void evolution_session_construct (EvolutionSession *session, CORBA_Object corba_session) { g_return_if_fail (session != NULL); g_return_if_fail (corba_session != CORBA_OBJECT_NIL); bonobo_object_construct (BONOBO_OBJECT (session), corba_session); } EvolutionSession * evolution_session_new (void) { EvolutionSession *session; Evolution_Session corba_session; session = gtk_type_new (evolution_session_get_type ()); corba_session = create_corba_session (BONOBO_OBJECT (session)); if (corba_session == CORBA_OBJECT_NIL) { bonobo_object_unref (BONOBO_OBJECT (session)); return NULL; } evolution_session_construct (session, corba_session); return session; } E_MAKE_TYPE (evolution_session, "EvolutionSession", EvolutionSession, class_init, init, PARENT_TYPE) 4dc1924a805fef71c4c1'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/science/mayavi'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/science/mayavi?id=06874ced5be902d18e3e4dc1924a805fef71c4c1'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/science/mayavi?id=06874ced5be902d18e3e4dc1924a805fef71c4c1'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/science/mayavi?id=06874ced5be902d18e3e4dc1924a805fef71c4c1'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/science/mayavi'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/science/mayavi'> <input type='hidden' name='id' value='06874ced5be902d18e3e4dc1924a805fef71c4c1'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?id=06874ced5be902d18e3e4dc1924a805fef71c4c1'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/science?id=06874ced5be902d18e3e4dc1924a805fef71c4c1'>science</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/science/mayavi?id=06874ced5be902d18e3e4dc1924a805fef71c4c1'>mayavi</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/science/mayavi?id=06874ced5be902d18e3e4dc1924a805fef71c4c1&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/science/mayavi?id=a882364f2403bc9d88e823745313b7de799bd176'>o Rollback PORTCOMMENT modifications while this feature's implementation</a></td><td>lioux</td><td><span title='2002-11-11 00:48:51 +0800'>2002-11-11</span></td><td>2</td><td><span class='deletions'>-2</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/science/mayavi?id=5ccea0eab4e8d2184fd2a06716209f6e7bae4d8a'>Use PORTCOMMENT in the Makefile, and whack the pkg-comment.</a></td><td>adamw</td><td><span title='2002-11-07 06:47:41 +0800'>2002-11-07</span></td><td>2</td><td><span class='deletions'>-1</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/science/mayavi?id=a7775dc3ddd79c7ea5764c76480a6f438a25a710'>Add missing .pyo files to each pkg-plist</a></td><td>perky</td><td><span title='2002-08-23 19:30:23 +0800'>2002-08-23</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+53</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/science/mayavi?id=0070b55b94bc9275fcfe0f076ef9627329c33849'>use USE_PYDISTUTILS</a></td><td>ijliao</td><td><span title='2002-04-30 02:37:38 +0800'>2002-04-30</span></td><td>1</td><td><span class='deletions'>-8</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/science/mayavi?id=c648c91cde16e074a802090f289b0e286748a263'>add mayavi 1.1</a></td><td>ijliao</td><td><span title='2002-03-09 18:58:55 +0800'>2002-03-09</span>