summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorEskil Heyn Olsen <eskil@src.gnome.org>2000-07-08 03:08:03 +0000
committerEskil Heyn Olsen <eskil@src.gnome.org>2000-07-08 03:08:03 +0000
commit830d17851eec892d3c0b2a4db7f593c56ed0b674 (patch)
tree22d4d8eeb4c467d6b0018618f2496cc8077447ef /components
parent61eba534c5ebafb5f6f14d71836b54958bd53f48 (diff)
downloadnautilus-830d17851eec892d3c0b2a4db7f593c56ed0b674.tar.gz
Represents the july 5th milestone.
* components/services/install/command-line/genpkg_list.example: Represents the july 5th milestone. (create_default_metadata): * components/services/install/lib/eazel-install-rpm-glue.c: (rpm_show_progress), (do_rpm_install), (eazel_install_fetch_rpm_dependencies): Added some FIXME's. Fixed a horrible mem bug. It now leaks, but rpm install works. * components/services/install/lib/eazel-install-xml-package-list.c: (parse_package): Added a check so the strtol isn't a risk anymore * components/services/trilobite/idl/trilobite-service.idl: Added the interface for the password query hell. * components/services/trilobite/libtrilobite/Makefile.am: * components/services/trilobite/libtrilobite/trilobite-service-passwo rdquery-private.h: * components/services/trilobite/libtrilobite/trilobite-service-passwo rdquery-public.h: * components/services/trilobite/libtrilobite/trilobite-service-passwo rdquery.c: (trilobite_passwordquery_get_epv), (trilobite_passwordquery_destroy), (trilobite_passwordquery_set_arg), (trilobite_passwordquery_class_initialize), (trilobite_passwordquery_construct), (trilobite_passwordquery_create_corba_object), (trilobite_passwordquery_initialize), (trilobite_passwordquery_get_type), (trilobite_passwordquery_new): Did the initial passwordquery corba object by cp & s/x/y/ on trilobite-service*[ch]. * data/emblems/Makefile.am: removed personal.png from _DATA, as it does not exists * icons/Makefile.am: removed emblem-personal.svg * icons/vector/Makefile.am: icons/Makefile.am * nautilus-installer/src/Makefile: * nautilus-installer/src/installer.c: (eazel_install_progress), (make_dirs), (installer): Now creates the /var/eazel/services dir. Sets the proper flags for the install object and again prints the package name during progress display. * nautilus-installer/src/interface.c: (create_window): Fiddled with the layout, everything doesn't jump around anymore, just a few things. * nautilus-installer/src/prescript: Inc'ed the version to 0.1d
Diffstat (limited to 'components')
-rw-r--r--components/services/install/command-line/Makefile.am3
-rw-r--r--components/services/install/command-line/genpkg_list.example63
-rw-r--r--components/services/install/lib/eazel-install-metadata.c1
-rw-r--r--components/services/install/lib/eazel-install-rpm-glue.c26
-rw-r--r--components/services/install/lib/eazel-install-xml-package-list.c10
-rw-r--r--components/services/trilobite/idl/trilobite-service.idl8
-rw-r--r--components/services/trilobite/libtrilobite/Makefile.am3
-rw-r--r--components/services/trilobite/libtrilobite/trilobite-service-passwordquery-private.h33
-rw-r--r--components/services/trilobite/libtrilobite/trilobite-service-passwordquery-public.h77
-rw-r--r--components/services/trilobite/libtrilobite/trilobite-service-passwordquery.c243
10 files changed, 435 insertions, 32 deletions
diff --git a/components/services/install/command-line/Makefile.am b/components/services/install/command-line/Makefile.am
index a3b216998..8abfc5423 100644
--- a/components/services/install/command-line/Makefile.am
+++ b/components/services/install/command-line/Makefile.am
@@ -38,6 +38,5 @@ eazel_uninstall_SOURCES = \
$(NULL)
eazel_gen_xml_SOURCES = \
- eazel-gen-xml.c \
+ eazel-gen-xml.c \
$(NULL)
-
diff --git a/components/services/install/command-line/genpkg_list.example b/components/services/install/command-line/genpkg_list.example
index a57e7cfba..16f3888b6 100644
--- a/components/services/install/command-line/genpkg_list.example
+++ b/components/services/install/command-line/genpkg_list.example
@@ -1,25 +1,38 @@
-Essential Packages:GConf:0.5.msM31:3:i386:0:Stuff
-Essential Packages:GConf-devel:0.5.msM31:3:i386:0:Stuff
-Essential Packages:ORBit:0.5.1.msM31:2:i386:0:Stuff
-Essential Packages:ORBit-devel:0.5.1.msM31:2:i386:0:Stuff
-Essential Packages:bonobo:0.15.msM31:prw2:i386:0:Stuff
-Essential Packages:bonobo-devel:0.15.msM31:prw2:i386:0:Stuff
-Essential Packages:control-center:1.2.0.msM31:2:i386:0:Stuff
-Essential Packages:control-center-devel:1.2.0.msM31:2:i386:0:Stuff
-Essential Packages:eog:0.3.msM31:2:i386:0:Stuff
-Essential Packages:gdk-pixbuf:0.8.0.msM31:3:i386:0:Stuff
-Essential Packages:gdk-pixbuf-devel:0.8.0.msM31:3:i386:0:Stuff
-Essential Packages:gnet:1.0.3.msM31:1:i386:0:Stuff
-Essential Packages:gnet-devel:1.0.3.msM31:1:i386:0:Stuff
-Essential Packages:gnome-print:0.20.msM31:1:i386:0:Stuff
-Essential Packages:gnome-print-devel:0.20.msM31:1:i386:0:Stuff
-Essential Packages:gnome-vfs:0.1.msM31:3:i386:0:Stuff
-Essential Packages:gnome-vfs-devel:0.1.msM31:3:i386:0:Stuff
-Essential Packages:gtkhtml:0.4.msM31:2:i386:0:Stuff
-Essential Packages:gtkhtml-devel:0.4.msM31:2:i386:0:Stuff
-Essential Packages:libghttp:1.0.7.msM31:1:i386:0:Stuff
-Essential Packages:libghttp-devel:1.0.7.msM31:1:i386:0:Stuff
-Essential Packages:nautilus:0.1.0:prw2:i386:0:Stuff
-Essential Packages:nautilus-devel:0.1.0:prw2:i386:0:Stuff
-Essential Packages:oaf:0.3.0.msM31:2:i386:0:Stuff
-Essential Packages:oaf-devel:0.3.0.msM31:2:i386:0:Stuff
+Nautilus:GConf:0.5.EazelSourceSnapshot::i386::
+Nautilus:GConf-devel:0.5.EazelSourceSnapshot::i386::
+Nautilus:ORBit:0.5.2.EazelSourceSnapshot::i386::
+Nautilus:ORBit-devel:0.5.2.EazelSourceSnapshot::i386::
+Nautilus:bonobo:0.15.EazelSourceSnapshot:prw:i386::
+Nautilus:bonobo-devel:0.15.EazelSourceSnapshot:prw:i386::
+Nautilus:control-center:1.2.0.EazelSourceSnapshot::i386::
+Nautilus:control-center-devel:1.2.0.EazelSourceSnapshot::i386::
+Nautilus:eog:0.3.EazelSourceSnapshot::i386::
+Nautilus:gdk-pixbuf:0.8.0.EazelSourceSnapshot::i386::
+Nautilus:gdk-pixbuf-devel:0.8.0.EazelSourceSnapshot::i386::
+Nautilus:gnome-print:0.20.EazelSourceSnapshot::i386::
+Nautilus:gnome-print-devel:0.20.EazelSourceSnapshot::i386::
+Nautilus:gnome-vfs:0.1.EazelSourceSnapshot::i386::
+Nautilus:gnome-vfs-devel:0.1.EazelSourceSnapshot::i386::
+Nautilus:gtkhtml:0.4.EazelSourceSnapshot::i386::
+Nautilus:gtkhtml-devel:0.4.EazelSourceSnapshot::i386::
+Nautilus:libghttp:1.0.7.EazelSourceSnapshot::i386::
+Nautilus:libghttp-devel:1.0.7.EazelSourceSnapshot::i386::
+Nautilus:medusa:0.1.0.EazelSourceSnapshot::i386::
+Nautilus:medusa-devel:0.1.0.EazelSourceSnapshot::i386::
+Nautilus:nautilus:0.1.0:prw:i386::
+Nautilus:nautilus-devel:0.1.0:prw:i386::
+Nautilus:oaf:0.4.0.EazelSourceSnapshot::i386::
+Nautilus:oaf-devel:0.4.0.EazelSourceSnapshot::i386::
+Nautilus:gnome-libs:1.2.3::i386::
+Nautilus:gtk+:1.2.8::i386::
+Nautilus:glib:1.2.8::i386::
+Nautilus:imlib:1.9.8.1::i386::
+Nautilus:imlib-configurator::i386::
+Nautilus:libxml:1.8.7::i386::
+Nautilus:gnome-libs-devel:1.2.3::i386::
+Nautilus:gtk+-devel:1.2.8::i386::
+Nautilus:glib-devel:1.2.8::i386::
+Nautilus:imlib-devel:1.9.8.1::i386::
+Nautilus:libxml-devel:1.8.7::i386::
+Nautilus:imlib-cfgeditor:1.9.8.1::i386::
+Nautilus:mozilla:5.0::i386::
diff --git a/components/services/install/lib/eazel-install-metadata.c b/components/services/install/lib/eazel-install-metadata.c
index bc6461eb9..030853338 100644
--- a/components/services/install/lib/eazel-install-metadata.c
+++ b/components/services/install/lib/eazel-install-metadata.c
@@ -63,6 +63,7 @@ create_default_metadata (const char* config_file) {
}
}
}
+
rv = create_default_configuration_metafile (config_file);
if (rv == FALSE) {
g_error (_("*** Could not create the default configuration file! ***\n"));
diff --git a/components/services/install/lib/eazel-install-rpm-glue.c b/components/services/install/lib/eazel-install-rpm-glue.c
index 715764405..ddd0f7ff5 100644
--- a/components/services/install/lib/eazel-install-rpm-glue.c
+++ b/components/services/install/lib/eazel-install-rpm-glue.c
@@ -416,6 +416,9 @@ rpm_show_progress (const Header h,
break;
case RPMCALLBACK_INST_PROGRESS: {
+ /* FIXME: bugzilla.eazel.com 1585
+ Need a hash between filenames and packages, so I can lookup the
+ real package here */
PackageData *pack;
pack = packagedata_new ();
pack->name = g_strdup (filename);
@@ -483,8 +486,13 @@ do_rpm_install (EazelInstall *service,
binary_headers = g_new (Header, pkg_count + 1);
/* First load all rpm headers */
for (iterator = packages; iterator ; iterator = iterator->next) {
- pkg_file = g_strdup_printf ("%s",
- rpmfilename_from_packagedata ((PackageData*)iterator->data));
+ /* RPM keeps this var (pkg_file), so don't use a g_ func to alloc it,
+ nor should it be freed */
+ /* FIXME: bugzilla.eazel.com 1602
+ I should remember these pointers and free them at the end,
+ except that mayby RPM does, I'm just not sure. And anyways, being the service
+ "it's not that important" :-( */
+ pkg_file = strdup (rpmfilename_from_packagedata ((PackageData*)iterator->data));
g_message ("Installing %s...", pkg_file);
fd = fdOpen (pkg_file, O_RDONLY, 0644);
if (fdFileno (fd) < 0) {
@@ -548,6 +556,7 @@ do_rpm_install (EazelInstall *service,
}
/* Ensure the order */
if (!(eazel_install_get_interface_flags (service) & INSTALL_NOORDER)) {
+ g_message ("Reordering...");
if (rpmdepOrder(rpmdep)) {
num_failed = num_packages;
stop_install = 1;
@@ -609,7 +618,9 @@ do_rpm_install (EazelInstall *service,
&probs,
eazel_install_get_interface_flags (service),
eazel_install_get_problem_filters (service));
-
+ rpmProblemSetPrint (stderr, probs);
+ rpmProblemSetPrint (stdout, probs);
+ g_message ("rpmRunTransactions = %d", rc);
rpmProblemSetFree(probs);
if (rc == -1) {
/* some error */
@@ -1206,14 +1217,21 @@ eazel_install_fetch_rpm_dependencies (EazelInstall *service,
if (pack_entry == NULL) {
switch (conflict.sense) {
case RPMDEP_SENSE_REQUIRES:
- g_warning (_("%s needs %s %s"), conflict.byName, conflict.needsName, conflict.needsVersion);
+ /* FIXME: bugzilla.eazel.com 1584
+ This sigsegvs...
+ */
+ g_warning (_("%s %s breaks %s"), conflict.needsName, conflict.needsVersion, conflict.byName);
pack_entry = g_list_find_custom (*packages,
(gpointer)conflict.needsName,
(GCompareFunc)eazel_install_package_name_compare);
+ g_message ("step 1");
dep = packagedata_new_from_rpm_conflict_reversed (conflict);
+ g_message ("step 2");
dep->archtype = g_strdup (pack->archtype);
pack = (PackageData*)(pack_entry->data);
+ g_message ("step 3");
pack->status = PACKAGE_BREAKS_DEPENDENCY;
+ g_message ("step assertion");
g_assert (dep!=NULL);
/* FIXME: bugzilla.eazel.com 1363
Here, it'd be cool to compare dep->name to pack->name to see if
diff --git a/components/services/install/lib/eazel-install-xml-package-list.c b/components/services/install/lib/eazel-install-xml-package-list.c
index 7bb5205ab..20ef3b7d4 100644
--- a/components/services/install/lib/eazel-install-xml-package-list.c
+++ b/components/services/install/lib/eazel-install-xml-package-list.c
@@ -49,7 +49,15 @@ parse_package (xmlNode* package, gboolean set_toplevel) {
rv->version = g_strdup (xml_get_value (package, "VERSION"));
rv->minor = g_strdup (xml_get_value (package, "MINOR"));
rv->archtype = g_strdup (xml_get_value (package, "ARCH"));
- rv->bytesize = atoi (xml_get_value (package, "BYTESIZE"));
+ {
+ char *tmp;
+ tmp = xml_get_value (package, "BYTESIZE");
+ if (tmp) {
+ rv->bytesize = atoi (tmp);
+ } else {
+ rv->bytesize = 0;
+ }
+ }
rv->summary = g_strdup (xml_get_value (package, "SUMMARY"));
rv->distribution = trilobite_get_distribution ();
if (set_toplevel) {
diff --git a/components/services/trilobite/idl/trilobite-service.idl b/components/services/trilobite/idl/trilobite-service.idl
index 955cfb235..004f4bec6 100644
--- a/components/services/trilobite/idl/trilobite-service.idl
+++ b/components/services/trilobite/idl/trilobite-service.idl
@@ -32,6 +32,14 @@ module Trilobite {
*/
string get_icon ();
};
+
+ interface PasswordQueryClient : Bonobo::Unknown {
+ string get_password (in string prompt);
+ };
+
+ interface PasswordQuery : Bonobo::Unknown {
+ void set_query_client (in PasswordQueryClient client);
+ };
};
#endif
diff --git a/components/services/trilobite/libtrilobite/Makefile.am b/components/services/trilobite/libtrilobite/Makefile.am
index 4b31d4017..aadc2f33f 100644
--- a/components/services/trilobite/libtrilobite/Makefile.am
+++ b/components/services/trilobite/libtrilobite/Makefile.am
@@ -36,6 +36,8 @@ libtrilobiteinclude_HEADERS = \
trilobite-service.h \
trilobite-service-public.h \
trilobite-service-private.h \
+ trilobite-service-passwordquery-public.h \
+ trilobite-service-passwordquery-private.h \
trilobite-core-messaging.h \
trilobite-core-distribution.h \
trilobite-core-metadata-manager.h \
@@ -52,6 +54,7 @@ libtrilobite_la_SOURCES = \
trilobite-service-stubs.c \
trilobite-service-skels.c \
trilobite-service.c \
+ trilobite-service-passwordquery.c \
trilobite-core-messaging.c \
trilobite-core-distribution.c \
trilobite-core-metadata-manager.c \
diff --git a/components/services/trilobite/libtrilobite/trilobite-service-passwordquery-private.h b/components/services/trilobite/libtrilobite/trilobite-service-passwordquery-private.h
new file mode 100644
index 000000000..b5da4f8eb
--- /dev/null
+++ b/components/services/trilobite/libtrilobite/trilobite-service-passwordquery-private.h
@@ -0,0 +1,33 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/*
+ * Copyright (C) 2000 Eazel, Inc
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library 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 Library 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.
+ *
+ * Authors: Eskil Heyn Olsen <eskil@eazel.com>
+ *
+ */
+
+#ifndef TRILOBITE_PASSWORDQUERY_PRIVATE_H
+#define TRILOBITE_PASSWORDQUERY_PRIVATE_H
+
+struct _TrilobitePasswordQueryPrivate {
+ gboolean destroyed;
+ gboolean alive;
+
+};
+
+#endif /* TRILOBITE_PASSWORDQUERY_PRIVATE_H */
diff --git a/components/services/trilobite/libtrilobite/trilobite-service-passwordquery-public.h b/components/services/trilobite/libtrilobite/trilobite-service-passwordquery-public.h
new file mode 100644
index 000000000..f73edcb99
--- /dev/null
+++ b/components/services/trilobite/libtrilobite/trilobite-service-passwordquery-public.h
@@ -0,0 +1,77 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/*
+ * Copyright (C) 2000 Eazel, Inc
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library 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 Library 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.
+ *
+ * Authors: Eskil Heyn Olsen <eskil@eazel.com>
+ *
+ */
+
+/* trilobite-service.h: Interface for objects representing
+ the toplevel type for services ("trilobites").
+ */
+
+#ifndef TRILOBITE_PASSWORDQUERY_H
+#define TRILOBITE_PASSWORDQUERY_H
+
+#include <libgnome/gnome-defs.h>
+#include <bonobo/bonobo-object.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define TRILOBITE_TYPE_PASSWORDQUERY (trilobite_passwordquery_get_type ())
+#define TRILOBITE_PASSWORDQUERY(obj) (GTK_CHECK_CAST ((obj), TRILOBITE_TYPE_PASSWORDQUERY, TrilobitePasswordQuery))
+#define TRILOBITE_PASSWORDQUERY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TRILOBITE_TYPE_PASSWORDQUERY, TrilobitePasswordQueryClass))
+#define TRILOBITE_IS_PASSWORDQUERY(obj) (GTK_CHECK_TYPE ((obj), TRILOBITE_TYPE_PASSWORDQUERY))
+#define TRILOBITE_IS_PASSWORDQUERY_CLASS(klass)(GTK_CHECK_CLASS_TYPE ((obj), TRILOBITE_TYPE_PASSWORDQUERY))
+
+typedef struct _TrilobitePasswordQuery TrilobitePasswordQuery;
+typedef struct _TrilobitePasswordQueryClass TrilobitePasswordQueryClass;
+
+struct _TrilobitePasswordQueryClass
+{
+ BonoboObjectClass parent_class;
+
+
+ gpointer servant_init;
+ gpointer servant_fini;
+ gpointer servant_vepv;
+};
+
+typedef struct _TrilobitePasswordQueryPrivate TrilobitePasswordQueryPrivate;
+
+struct _TrilobitePasswordQuery
+{
+ BonoboObject parent;
+ TrilobitePasswordQueryPrivate *private;
+};
+
+GtkType trilobite_passwordquery_get_type (void);
+gboolean trilobite_passwordquery_construct (TrilobitePasswordQuery *trilobite,
+ Trilobite_PasswordQuery corba_trilobite);
+TrilobitePasswordQuery* trilobite_passwordquery_new (void);
+POA_Trilobite_PasswordQuery__epv* trilobite_passwordquery_get_epv (void);
+void trilobite_passwordquery_destroy (GtkObject *object);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* TRILOBITE_PASSWORDQUERY_H */
diff --git a/components/services/trilobite/libtrilobite/trilobite-service-passwordquery.c b/components/services/trilobite/libtrilobite/trilobite-service-passwordquery.c
new file mode 100644
index 000000000..93df74249
--- /dev/null
+++ b/components/services/trilobite/libtrilobite/trilobite-service-passwordquery.c
@@ -0,0 +1,243 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/*
+ * Copyright (C) 2000 Eazel, Inc
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library 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 Library 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.
+ *
+ * Authors: Eskil Heyn Olsen <eskil@eazel.com>
+ *
+ */
+
+/* trilobite-service.c: Implementation for the toplevel
+ interface for trilobite objects */
+
+#include <config.h>
+#include <bonobo.h>
+
+#include "trilobite-service.h"
+#include "trilobite-service-passwordquery-public.h"
+#include "trilobite-service-passwordquery-private.h"
+
+enum {
+ LAST_SIGNAL
+};
+
+/* static guint trilobite_passwordquery_signals[LAST_SIGNAL] = { 0 }; */
+
+static BonoboObjectClass *trilobite_passwordquery_parent_class;
+
+/*****************************************
+ Corba stuff
+*****************************************/
+
+static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL };
+
+typedef struct {
+ POA_Trilobite_PasswordQuery servant;
+ BonoboObject *bonobo_object;
+} impl_POA_Trilobite_PasswordQuery;
+
+POA_Trilobite_PasswordQuery__epv*
+trilobite_passwordquery_get_epv(void)
+{
+ POA_Trilobite_PasswordQuery__epv *epv;
+
+ epv = g_new0 (POA_Trilobite_PasswordQuery__epv, 1);
+
+ return epv;
+};
+
+/*****************************************
+ GTK+ object stuff
+*****************************************/
+
+void
+trilobite_passwordquery_destroy (GtkObject *object)
+{
+ TrilobitePasswordQuery *trilobite;
+ /* g_message ("in trilobite_passwordquery_destroy"); */
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (TRILOBITE_IS_PASSWORDQUERY (object));
+
+ trilobite = TRILOBITE_PASSWORDQUERY (object);
+
+ if (trilobite->private != NULL) {
+ g_free (trilobite->private);
+ }
+
+ if (GTK_OBJECT_CLASS (trilobite_passwordquery_parent_class)->destroy) {
+ /* g_message ("calling trilobite-passwordquery-parent->destroy ()"); */
+ GTK_OBJECT_CLASS (trilobite_passwordquery_parent_class)->destroy (object);
+ }
+}
+
+static void
+trilobite_passwordquery_set_arg (GtkObject *object,
+ GtkArg *arg,
+ guint arg_id)
+{
+ TrilobitePasswordQuery *trilobite;
+
+ g_assert (object != NULL);
+ g_assert (TRILOBITE_IS_PASSWORDQUERY (object));
+
+ trilobite = TRILOBITE_PASSWORDQUERY (object);
+
+ switch (arg_id) {
+ }
+}
+
+static void
+trilobite_passwordquery_class_initialize (TrilobitePasswordQueryClass *klass)
+{
+ GtkObjectClass *object_class;
+
+ /* g_message ("in trilobite_passwordquery_class_initialize"); */
+
+ object_class = (GtkObjectClass*) klass;
+ object_class->destroy = (void(*)(GtkObject*))trilobite_passwordquery_destroy;
+ object_class->set_arg = trilobite_passwordquery_set_arg;
+
+ trilobite_passwordquery_parent_class = gtk_type_class (bonobo_object_get_type ());
+
+ klass->servant_init = POA_Trilobite_PasswordQuery__init;
+ klass->servant_fini = POA_Trilobite_PasswordQuery__fini;
+
+ klass->servant_vepv = g_new0 (POA_Trilobite_PasswordQuery__vepv,1);
+ ((POA_Trilobite_PasswordQuery__vepv*)klass->servant_vepv)->_base_epv = &base_epv;
+ ((POA_Trilobite_PasswordQuery__vepv*)klass->servant_vepv)->Bonobo_Unknown_epv = bonobo_object_get_epv ();
+ ((POA_Trilobite_PasswordQuery__vepv*)klass->servant_vepv)->Trilobite_PasswordQuery_epv = trilobite_passwordquery_get_epv ();
+};
+
+gboolean
+trilobite_passwordquery_construct (TrilobitePasswordQuery *trilobite,
+ Trilobite_PasswordQuery corba_trilobite)
+{
+ g_assert (trilobite != NULL);
+ g_assert (TRILOBITE_IS_PASSWORDQUERY (trilobite));
+ g_return_val_if_fail (corba_trilobite != CORBA_OBJECT_NIL, FALSE);
+
+ if (!bonobo_object_construct (BONOBO_OBJECT (trilobite), (CORBA_Object) corba_trilobite)) {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static Trilobite_PasswordQuery
+trilobite_passwordquery_create_corba_object (BonoboObject *trilobite)
+{
+ impl_POA_Trilobite_PasswordQuery *servant;
+ void (*servant_init) (PortableServer_Servant servant, CORBA_Environment *ev);
+ CORBA_Environment ev;
+
+ /* g_message ("in trilobite_passwordquery_create_corba_object"); */
+
+ g_assert (trilobite != NULL);
+
+ CORBA_exception_init(&ev);
+
+ servant = (impl_POA_Trilobite_PasswordQuery*) g_new0 (BonoboObjectServant, 1);
+ ((POA_Trilobite_PasswordQuery*) servant)->vepv = TRILOBITE_PASSWORDQUERY_CLASS ( GTK_OBJECT (trilobite)->klass)->servant_vepv;
+ servant->bonobo_object = trilobite;
+
+ servant_init = TRILOBITE_PASSWORDQUERY_CLASS ( GTK_OBJECT (trilobite)->klass)->servant_init;
+ servant_init ((PortableServer_Servant)servant, &ev);
+ ORBIT_OBJECT_KEY (((POA_Trilobite_PasswordQuery*) servant)->_private)->object = NULL;
+
+ if (ev._major != CORBA_NO_EXCEPTION) {
+ g_warning ("Cannot instantiate Trilobite_PasswordQuery corba object");
+ g_free (servant);
+ CORBA_exception_free (&ev);
+ return CORBA_OBJECT_NIL;
+ }
+
+ CORBA_exception_free (&ev);
+
+ return (Trilobite_PasswordQuery) bonobo_object_activate_servant (trilobite, servant);
+}
+
+static void
+trilobite_passwordquery_initialize (TrilobitePasswordQuery *trilobite)
+{
+ Trilobite_PasswordQuery corba_trilobite;
+
+ /* g_message ("in trilobite_passwordquery_initialize"); */
+
+ g_return_if_fail (trilobite != NULL);
+ g_return_if_fail (TRILOBITE_IS_PASSWORDQUERY (trilobite));
+
+ corba_trilobite = trilobite_passwordquery_create_corba_object (BONOBO_OBJECT (trilobite));
+
+ if (trilobite_passwordquery_construct (trilobite, corba_trilobite) == FALSE) {
+ trilobite_passwordquery_destroy (GTK_OBJECT (trilobite));
+ trilobite = NULL;
+ }
+
+ trilobite->private = g_new0 (TrilobitePasswordQueryPrivate,1);
+
+ trilobite->private->destroyed = FALSE;
+ trilobite->private->alive = TRUE;
+}
+
+GtkType
+trilobite_passwordquery_get_type (void)
+{
+ static GtkType trilobite_passwordquery_type = 0;
+
+ /* g_message ("into trilobite_passwordquery_get_type"); */
+
+ /* First time it's called ? */
+ if (!trilobite_passwordquery_type)
+ {
+ static const GtkTypeInfo trilobite_passwordquery_info =
+ {
+ "TrilobitePasswordQuery",
+ sizeof (TrilobitePasswordQuery),
+ sizeof (TrilobitePasswordQueryClass),
+ (GtkClassInitFunc) trilobite_passwordquery_class_initialize,
+ (GtkObjectInitFunc) trilobite_passwordquery_initialize,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ /* Get a unique GtkType */
+ trilobite_passwordquery_type = gtk_type_unique (bonobo_object_get_type (), &trilobite_passwordquery_info);
+ }
+
+ return trilobite_passwordquery_type;
+}
+
+TrilobitePasswordQuery*
+trilobite_passwordquery_new()
+{
+ TrilobitePasswordQuery *trilobite;
+
+ /* g_message ("in trilobite_passwordquery_new"); */
+
+ trilobite = TRILOBITE_PASSWORDQUERY (gtk_type_new (TRILOBITE_TYPE_PASSWORDQUERY));
+
+ if (trilobite == NULL) {
+ g_warning ("Could not create a TrilobitePasswordQuery*");
+ }
+
+ trilobite_passwordquery_initialize (trilobite);
+
+ return trilobite;
+}
+