mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-09-20 00:02:12 +00:00
Fixed bug 3459 (emit signals when doing file-conflict, feature-consistency
* components/services/install/lib/eazel-install-public.h: * components/services/install/command-line/eazel-alt-install-corba. c: (eazel_file_conflict_check_signal), (eazel_file_uniqueness_check_signal), (eazel_feature_consistency_check_signal), (main): * components/services/install/idl/trilobite-eazel-install.idl: * components/services/install/lib/eazel-install-corba-callback.c: (impl_file_conflict_check), (impl_file_uniqueness_check), (impl_feature_consistency_check), (eazel_install_callback_get_epv), (eazel_install_callback_class_initialize): * components/services/install/lib/eazel-install-corba-callback.h: * components/services/install/lib/eazel-install-logic2.c: (check_no_two_packages_has_same_file), (check_conflicts_against_already_installed_packages), (check_feature_consistency): * components/services/install/lib/eazel-install-object.c: (eazel_install_class_initialize), (eazel_install_emit_file_conflict_check), (eazel_install_emit_file_conflict_check_default), (eazel_install_emit_file_uniqueness_check), (eazel_install_emit_file_uniqueness_check_default), (eazel_install_emit_feature_consistency_check), (eazel_install_emit_feature_consistency_check_default): Fixed bug 3459 (emit signals when doing file-conflict, feature-consistency and file-uniqueness checks). * components/services/install/lib/eazel-package-system-types.c: (packagedata_get_readable_name): Nyll poynter checking.
This commit is contained in:
parent
6dc4263c5f
commit
671bec82dd
32
ChangeLog
32
ChangeLog
|
@ -1,3 +1,35 @@
|
|||
2001-02-05 Eskil Heyn Olsen <eskil@eazel.com>
|
||||
|
||||
* components/services/install/lib/eazel-install-public.h:
|
||||
* components/services/install/command-line/eazel-alt-install-corba.
|
||||
c: (eazel_file_conflict_check_signal),
|
||||
(eazel_file_uniqueness_check_signal),
|
||||
(eazel_feature_consistency_check_signal), (main):
|
||||
* components/services/install/idl/trilobite-eazel-install.idl:
|
||||
* components/services/install/lib/eazel-install-corba-callback.c:
|
||||
(impl_file_conflict_check), (impl_file_uniqueness_check),
|
||||
(impl_feature_consistency_check), (eazel_install_callback_get_epv),
|
||||
(eazel_install_callback_class_initialize):
|
||||
* components/services/install/lib/eazel-install-corba-callback.h:
|
||||
* components/services/install/lib/eazel-install-logic2.c:
|
||||
(check_no_two_packages_has_same_file),
|
||||
(check_conflicts_against_already_installed_packages),
|
||||
(check_feature_consistency):
|
||||
* components/services/install/lib/eazel-install-object.c:
|
||||
(eazel_install_class_initialize),
|
||||
(eazel_install_emit_file_conflict_check),
|
||||
(eazel_install_emit_file_conflict_check_default),
|
||||
(eazel_install_emit_file_uniqueness_check),
|
||||
(eazel_install_emit_file_uniqueness_check_default),
|
||||
(eazel_install_emit_feature_consistency_check),
|
||||
(eazel_install_emit_feature_consistency_check_default):
|
||||
Fixed bug 3459 (emit signals when doing file-conflict,
|
||||
feature-consistency and file-uniqueness checks).
|
||||
|
||||
* components/services/install/lib/eazel-package-system-types.c:
|
||||
(packagedata_get_readable_name):
|
||||
Nyll poynter checking.
|
||||
|
||||
2001-02-05 John Sullivan <sullivan@eazel.com>
|
||||
|
||||
Fixed bug 6359 (Choosing current view from "View as" menu crashes)
|
||||
|
|
|
@ -260,6 +260,30 @@ set_parameters_from_command_line (GNOME_Trilobite_Eazel_Install service)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
eazel_file_conflict_check_signal (EazelInstallCallback *service,
|
||||
const PackageData *pack,
|
||||
gpointer unused)
|
||||
{
|
||||
printf ("File conflict checking %s...\n", pack->name);
|
||||
}
|
||||
|
||||
static void
|
||||
eazel_file_uniqueness_check_signal (EazelInstallCallback *service,
|
||||
const PackageData *pack,
|
||||
gpointer unused)
|
||||
{
|
||||
printf ("File uniqueness checking %s...\n", pack->name);
|
||||
}
|
||||
|
||||
static void
|
||||
eazel_feature_consistency_check_signal (EazelInstallCallback *service,
|
||||
const PackageData *pack,
|
||||
gpointer unused)
|
||||
{
|
||||
printf ("Feature consistency checking %s...\n", pack->name);
|
||||
}
|
||||
|
||||
static void
|
||||
eazel_download_progress_signal (EazelInstallCallback *service,
|
||||
const PackageData *pack,
|
||||
|
@ -760,6 +784,16 @@ int main(int argc, char *argv[]) {
|
|||
set_root_client (eazel_install_callback_bonobo (cb));
|
||||
|
||||
/* Set up signal connections */
|
||||
gtk_signal_connect (GTK_OBJECT (cb), "file_conflict_check",
|
||||
GTK_SIGNAL_FUNC (eazel_file_conflict_check_signal),
|
||||
NULL);
|
||||
gtk_signal_connect (GTK_OBJECT (cb), "file_uniqueness_check",
|
||||
GTK_SIGNAL_FUNC (eazel_file_uniqueness_check_signal),
|
||||
NULL);
|
||||
gtk_signal_connect (GTK_OBJECT (cb), "feature_consistency_check",
|
||||
GTK_SIGNAL_FUNC (eazel_feature_consistency_check_signal),
|
||||
NULL);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (cb), "download_progress",
|
||||
GTK_SIGNAL_FUNC (eazel_download_progress_signal),
|
||||
"Download progress");
|
||||
|
|
|
@ -29,6 +29,11 @@ module Trilobite {
|
|||
ALREADY_INSTALLED, /* medium: you don't get to install it, but then again... */
|
||||
CIRCULAR_DEPENDENCY /* bad: two packages are fighting it out */
|
||||
};
|
||||
|
||||
enum Operation {
|
||||
OPERATION_INSTALL,
|
||||
OPERATION_UNINSTALL
|
||||
};
|
||||
|
||||
enum ProtocolEnum {
|
||||
PROTOCOL_HTTP,
|
||||
|
@ -137,6 +142,23 @@ module Trilobite {
|
|||
};
|
||||
typedef sequence <CategoryStruct> CategoryStructList;
|
||||
|
||||
/*
|
||||
When adding a signal :
|
||||
- add signal to EazelInstallCallback in eazel-install-corba-callback.c
|
||||
- add signal to EazelInstall in eazel-install-public.h and eazel-install-object.c
|
||||
- add emitters to EazelInstall in eazel-install-public.h and eazel-install-object.c
|
||||
- call them...
|
||||
|
||||
When modifying a signal :
|
||||
- change interface in EazelInstallCallback in eazel-install-corba-callback.c
|
||||
- change interface in EazelInstall in eazel-install-public.h and eazel-install-object.c
|
||||
- change interface in EazelInstall in eazel-install-public.h and eazel-install-object.c
|
||||
- find and change all calls
|
||||
|
||||
Getting the klass functions and the gtk_signal_new into both eazel-install-object.c
|
||||
and eazel-install-corba-callback.c can be optimized by using Cut'n'Paste<tm> Technology
|
||||
*/
|
||||
|
||||
interface InstallCallback : Bonobo::Unknown {
|
||||
/* Called during download of a file */
|
||||
/* make it 2-way so that it will process incoming corba calls */
|
||||
|
@ -145,9 +167,11 @@ module Trilobite {
|
|||
/* Called when dependency check is being handled */
|
||||
oneway void dependency_check (in PackageDataStruct package, in PackageDataStruct needs);
|
||||
|
||||
/* Called when a package is being file conflict checked */
|
||||
/* Called when a package is being file/feature/unique checked */
|
||||
/* FIXME: bugzilla.eazel.com 3459 */
|
||||
oneway void file_conflict_check (in PackageDataStruct package);
|
||||
oneway void file_uniqueness_check (in PackageDataStruct package);
|
||||
oneway void feature_consistency_check (in PackageDataStruct package);
|
||||
|
||||
/* Called after download is complete, and before the (un)install begins.
|
||||
Typically while heating up RPM */
|
||||
|
@ -223,6 +247,19 @@ module Trilobite {
|
|||
in string root,
|
||||
in InstallCallback cb);
|
||||
|
||||
/* These are for installing/uninstalling specific packages */
|
||||
/*
|
||||
oneway void prepare_operation (in PackageDataStructList packages,
|
||||
in string root,
|
||||
in Operation op,
|
||||
in InstallCallback cb);
|
||||
|
||||
oneway void perform_operation (in PackageDataStructList packages,
|
||||
in string root,
|
||||
in Operation op,
|
||||
in InstallCallback cb);
|
||||
*/
|
||||
|
||||
boolean query_server (in PackageDataStruct q,
|
||||
out PackageDataStruct result);
|
||||
|
||||
|
|
|
@ -37,6 +37,10 @@
|
|||
#define OAF_ID "OAFIID:trilobite_eazel_install_service:8ff6e815-1992-437c-9771-d932db3b4a17"
|
||||
|
||||
enum {
|
||||
FILE_CONFLICT_CHECK,
|
||||
FILE_UNIQUENESS_CHECK,
|
||||
FEATURE_CONSISTENCY_CHECK,
|
||||
|
||||
DOWNLOAD_PROGRESS,
|
||||
PREFLIGHT_CHECK,
|
||||
INSTALL_PROGRESS,
|
||||
|
@ -68,6 +72,39 @@ typedef struct {
|
|||
EazelInstallCallback *object;
|
||||
} impl_POA_GNOME_Trilobite_Eazel_InstallCallback;
|
||||
|
||||
static void
|
||||
impl_file_conflict_check (impl_POA_GNOME_Trilobite_Eazel_InstallCallback *servant,
|
||||
const GNOME_Trilobite_Eazel_PackageDataStruct *corbapack,
|
||||
CORBA_Environment * ev)
|
||||
{
|
||||
PackageData *pack;
|
||||
pack = packagedata_from_corba_packagedatastruct (corbapack);
|
||||
gtk_signal_emit (GTK_OBJECT (servant->object), signals[FILE_CONFLICT_CHECK], pack);
|
||||
gtk_object_unref (GTK_OBJECT (pack));
|
||||
}
|
||||
|
||||
static void
|
||||
impl_file_uniqueness_check (impl_POA_GNOME_Trilobite_Eazel_InstallCallback *servant,
|
||||
const GNOME_Trilobite_Eazel_PackageDataStruct *corbapack,
|
||||
CORBA_Environment * ev)
|
||||
{
|
||||
PackageData *pack;
|
||||
pack = packagedata_from_corba_packagedatastruct (corbapack);
|
||||
gtk_signal_emit (GTK_OBJECT (servant->object), signals[FILE_UNIQUENESS_CHECK], pack);
|
||||
gtk_object_unref (GTK_OBJECT (pack));
|
||||
}
|
||||
|
||||
static void
|
||||
impl_feature_consistency_check (impl_POA_GNOME_Trilobite_Eazel_InstallCallback *servant,
|
||||
const GNOME_Trilobite_Eazel_PackageDataStruct *corbapack,
|
||||
CORBA_Environment * ev)
|
||||
{
|
||||
PackageData *pack;
|
||||
pack = packagedata_from_corba_packagedatastruct (corbapack);
|
||||
gtk_signal_emit (GTK_OBJECT (servant->object), signals[FEATURE_CONSISTENCY_CHECK], pack);
|
||||
gtk_object_unref (GTK_OBJECT (pack));
|
||||
}
|
||||
|
||||
static void
|
||||
impl_download_progress (impl_POA_GNOME_Trilobite_Eazel_InstallCallback *servant,
|
||||
const GNOME_Trilobite_Eazel_PackageDataStruct *corbapack,
|
||||
|
@ -235,17 +272,22 @@ eazel_install_callback_get_epv ()
|
|||
POA_GNOME_Trilobite_Eazel_InstallCallback__epv *epv;
|
||||
|
||||
epv = g_new0 (POA_GNOME_Trilobite_Eazel_InstallCallback__epv, 1);
|
||||
epv->download_progress = (gpointer)&impl_download_progress;
|
||||
epv->preflight_check = (gpointer)&impl_preflight_check;
|
||||
epv->dependency_check = (gpointer)&impl_dep_check;
|
||||
epv->install_progress = (gpointer)&impl_install_progress;
|
||||
epv->uninstall_progress = (gpointer)&impl_uninstall_progress;
|
||||
epv->md5_check_failed = (gpointer)&impl_md5_check_failed;
|
||||
epv->install_failed = (gpointer)&impl_install_failed;
|
||||
epv->download_failed = (gpointer)&impl_download_failed;
|
||||
epv->uninstall_failed = (gpointer)&impl_uninstall_failed;
|
||||
epv->delete_files = (gpointer)&impl_delete_files;
|
||||
epv->done = (gpointer)&impl_done;
|
||||
|
||||
epv->file_conflict_check = (gpointer)&impl_file_conflict_check;
|
||||
epv->file_uniqueness_check = (gpointer)&impl_file_uniqueness_check;
|
||||
epv->feature_consistency_check = (gpointer)&impl_feature_consistency_check;
|
||||
|
||||
epv->download_progress = (gpointer)&impl_download_progress;
|
||||
epv->preflight_check = (gpointer)&impl_preflight_check;
|
||||
epv->dependency_check = (gpointer)&impl_dep_check;
|
||||
epv->install_progress = (gpointer)&impl_install_progress;
|
||||
epv->uninstall_progress = (gpointer)&impl_uninstall_progress;
|
||||
epv->md5_check_failed = (gpointer)&impl_md5_check_failed;
|
||||
epv->install_failed = (gpointer)&impl_install_failed;
|
||||
epv->download_failed = (gpointer)&impl_download_failed;
|
||||
epv->uninstall_failed = (gpointer)&impl_uninstall_failed;
|
||||
epv->delete_files = (gpointer)&impl_delete_files;
|
||||
epv->done = (gpointer)&impl_done;
|
||||
|
||||
return epv;
|
||||
};
|
||||
|
@ -337,6 +379,28 @@ eazel_install_callback_class_initialize (EazelInstallCallbackClass *klass)
|
|||
((POA_GNOME_Trilobite_Eazel_InstallCallback__vepv*)klass->servant_vepv)->GNOME_Trilobite_Eazel_InstallCallback_epv =
|
||||
eazel_install_callback_get_epv ();
|
||||
|
||||
signals[FILE_CONFLICT_CHECK] =
|
||||
gtk_signal_new ("file_conflict_check",
|
||||
GTK_RUN_LAST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (EazelInstallCallbackClass, file_conflict_check),
|
||||
gtk_marshal_NONE__POINTER,
|
||||
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
|
||||
signals[FILE_UNIQUENESS_CHECK] =
|
||||
gtk_signal_new ("file_uniqueness_check",
|
||||
GTK_RUN_LAST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (EazelInstallCallbackClass, file_uniqueness_check),
|
||||
gtk_marshal_NONE__POINTER,
|
||||
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
|
||||
signals[FEATURE_CONSISTENCY_CHECK] =
|
||||
gtk_signal_new ("feature_consistency_check",
|
||||
GTK_RUN_LAST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (EazelInstallCallbackClass, feature_consistency_check),
|
||||
gtk_marshal_NONE__POINTER,
|
||||
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
|
||||
|
||||
signals[DOWNLOAD_PROGRESS] =
|
||||
gtk_signal_new ("download_progress",
|
||||
GTK_RUN_LAST,
|
||||
|
@ -357,7 +421,9 @@ eazel_install_callback_class_initialize (EazelInstallCallbackClass *klass)
|
|||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (EazelInstallCallbackClass, install_progress),
|
||||
eazel_install_gtk_marshal_NONE__POINTER_INT_INT_INT_INT_INT_INT,
|
||||
GTK_TYPE_NONE, 7, GTK_TYPE_POINTER, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT);
|
||||
GTK_TYPE_NONE, 7,
|
||||
GTK_TYPE_POINTER, GTK_TYPE_INT, GTK_TYPE_INT,
|
||||
GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT);
|
||||
signals[UNINSTALL_PROGRESS] =
|
||||
gtk_signal_new ("uninstall_progress",
|
||||
GTK_RUN_LAST,
|
||||
|
|
|
@ -65,6 +65,11 @@ struct _EazelInstallCallbackClass
|
|||
/* Called during uninstall of a package */
|
||||
void (*uninstall_progress) (EazelInstallCallback *service, const PackageData *pack, int amount, int total);
|
||||
|
||||
/* Called when a package is undergoing the different checks */
|
||||
void (*file_conflict_check)(EazelInstallCallback *service, const PackageData *package);
|
||||
void (*file_uniqueness_check)(EazelInstallCallback *service, const PackageData *package);
|
||||
void (*feature_consistency_check)(EazelInstallCallback *service, const PackageData *package);
|
||||
|
||||
/* Called when a dependency check is being resolved */
|
||||
void (*dependency_check) (EazelInstallCallback *service, const PackageData *package, const PackageData *needed );
|
||||
|
||||
|
|
|
@ -1126,6 +1126,7 @@ check_no_two_packages_has_same_file (EazelInstall *service,
|
|||
pack = PACKAGEDATA (iter->data);
|
||||
|
||||
g_message ("file uniqueness checking %s", pack->name);
|
||||
eazel_install_emit_file_uniqueness_check (service, pack);
|
||||
|
||||
for (iter_file = g_list_first (pack->provides); iter_file != NULL; iter_file = g_list_next (iter_file)) {
|
||||
filename = (char *)(iter_file->data);
|
||||
|
@ -1253,6 +1254,7 @@ check_conflicts_against_already_installed_packages (EazelInstall *service,
|
|||
}
|
||||
|
||||
g_message ("file conflict checking %s", pack->name);
|
||||
eazel_install_emit_file_conflict_check (service, pack);
|
||||
|
||||
pack->conflicts_checked = TRUE;
|
||||
for (iter_file = g_list_first (pack->provides); iter_file != NULL; iter_file = g_list_next (iter_file)) {
|
||||
|
@ -1375,6 +1377,7 @@ check_feature_consistency (EazelInstall *service,
|
|||
#else
|
||||
g_message ("checking feature consistency of %s", pack->name);
|
||||
#endif
|
||||
eazel_install_emit_feature_consistency_check (service, pack);
|
||||
|
||||
for (modify_it = pack->modifies; modify_it; modify_it = g_list_next (modify_it)) {
|
||||
PackageData *pack_modified = PACKAGEDATA (modify_it->data);
|
||||
|
|
|
@ -57,6 +57,10 @@
|
|||
#include <dirent.h>
|
||||
|
||||
enum {
|
||||
FILE_CONFLICT_CHECK,
|
||||
FILE_UNIQUENESS_CHECK,
|
||||
FEATURE_CONSISTENCY_CHECK,
|
||||
|
||||
DOWNLOAD_PROGRESS,
|
||||
PREFLIGHT_CHECK,
|
||||
INSTALL_PROGRESS,
|
||||
|
@ -110,7 +114,12 @@ static BonoboObjectClass *eazel_install_parent_class;
|
|||
|
||||
|
||||
/* prototypes */
|
||||
|
||||
void eazel_install_emit_file_conflict_check_default (EazelInstall *service,
|
||||
const PackageData *package);
|
||||
void eazel_install_emit_file_uniqueness_check_default (EazelInstall *service,
|
||||
const PackageData *package);
|
||||
void eazel_install_emit_feature_consistency_check_default (EazelInstall *service,
|
||||
const PackageData *package);
|
||||
void eazel_install_emit_install_progress_default (EazelInstall *service,
|
||||
const PackageData *pack,
|
||||
int, int, int, int, int, int);
|
||||
|
@ -408,6 +417,28 @@ eazel_install_class_initialize (EazelInstallClass *klass)
|
|||
((POA_GNOME_Trilobite_Eazel_Install__vepv*)klass->servant_vepv)->GNOME_Trilobite_Eazel_Install_epv = eazel_install_get_epv ();
|
||||
#endif /* EAZEL_INSTALL_NO_CORBA */
|
||||
|
||||
signals[FILE_CONFLICT_CHECK] =
|
||||
gtk_signal_new ("file_conflict_check",
|
||||
GTK_RUN_LAST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (EazelInstallClass, file_conflict_check),
|
||||
gtk_marshal_NONE__POINTER,
|
||||
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
|
||||
signals[FILE_UNIQUENESS_CHECK] =
|
||||
gtk_signal_new ("file_uniqueness_check",
|
||||
GTK_RUN_LAST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (EazelInstallClass, file_uniqueness_check),
|
||||
gtk_marshal_NONE__POINTER,
|
||||
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
|
||||
signals[FEATURE_CONSISTENCY_CHECK] =
|
||||
gtk_signal_new ("feature_consistency_check",
|
||||
GTK_RUN_LAST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (EazelInstallClass, feature_consistency_check),
|
||||
gtk_marshal_NONE__POINTER,
|
||||
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
|
||||
|
||||
signals[DOWNLOAD_PROGRESS] =
|
||||
gtk_signal_new ("download_progress",
|
||||
GTK_RUN_LAST,
|
||||
|
@ -476,6 +507,9 @@ eazel_install_class_initialize (EazelInstallClass *klass)
|
|||
gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
|
||||
|
||||
#ifdef EAZEL_INSTALL_NO_CORBA
|
||||
klass->file_conflict_check = NULL;
|
||||
klass->file_uniqueness_check = NULL;
|
||||
klass->feature_consistency_check = NULL;
|
||||
klass->install_progress = NULL;
|
||||
klass->download_progress = NULL;
|
||||
klass->download_failed = NULL;
|
||||
|
@ -485,6 +519,9 @@ eazel_install_class_initialize (EazelInstallClass *klass)
|
|||
klass->dependency_check = NULL;
|
||||
klass->preflight_check = NULL;
|
||||
#else
|
||||
klass->file_conflict_check = eazel_install_emit_file_conflict_check_default;
|
||||
klass->file_uniqueness_check = eazel_install_emit_file_uniqueness_check_default;
|
||||
klass->feature_consistency_check = eazel_install_emit_feature_consistency_check_default;
|
||||
klass->install_progress = eazel_install_emit_install_progress_default;
|
||||
klass->download_progress = eazel_install_emit_download_progress_default;
|
||||
klass->download_failed = eazel_install_emit_download_failed_default;
|
||||
|
@ -1264,6 +1301,90 @@ eazel_install_add_repository (EazelInstall *service, const char *dir)
|
|||
a corba callback, and if true, do the callback
|
||||
**************************************************/
|
||||
|
||||
void
|
||||
eazel_install_emit_file_conflict_check (EazelInstall *service,
|
||||
const PackageData *pack)
|
||||
{
|
||||
EAZEL_INSTALL_SANITY(service);
|
||||
gtk_signal_emit (GTK_OBJECT (service), signals[FILE_CONFLICT_CHECK], pack);
|
||||
}
|
||||
|
||||
void
|
||||
eazel_install_emit_file_conflict_check_default (EazelInstall *service,
|
||||
const PackageData *pack)
|
||||
{
|
||||
#ifndef EAZEL_INSTALL_NO_CORBA
|
||||
CORBA_Environment ev;
|
||||
CORBA_exception_init (&ev);
|
||||
EAZEL_INSTALL_SANITY(service);
|
||||
if (service->callback != CORBA_OBJECT_NIL) {
|
||||
GNOME_Trilobite_Eazel_PackageDataStruct *package;
|
||||
package = corba_packagedatastruct_from_packagedata (pack);
|
||||
GNOME_Trilobite_Eazel_InstallCallback_file_conflict_check (service->callback,
|
||||
package,
|
||||
&ev);
|
||||
CORBA_free (package);
|
||||
}
|
||||
CORBA_exception_free (&ev);
|
||||
#endif /* EAZEL_INSTALL_NO_CORBA */
|
||||
}
|
||||
|
||||
void
|
||||
eazel_install_emit_file_uniqueness_check (EazelInstall *service,
|
||||
const PackageData *pack)
|
||||
{
|
||||
EAZEL_INSTALL_SANITY(service);
|
||||
gtk_signal_emit (GTK_OBJECT (service), signals[FILE_UNIQUENESS_CHECK], pack);
|
||||
}
|
||||
|
||||
void
|
||||
eazel_install_emit_file_uniqueness_check_default (EazelInstall *service,
|
||||
const PackageData *pack)
|
||||
{
|
||||
#ifndef EAZEL_INSTALL_NO_CORBA
|
||||
CORBA_Environment ev;
|
||||
CORBA_exception_init (&ev);
|
||||
EAZEL_INSTALL_SANITY(service);
|
||||
if (service->callback != CORBA_OBJECT_NIL) {
|
||||
GNOME_Trilobite_Eazel_PackageDataStruct *package;
|
||||
package = corba_packagedatastruct_from_packagedata (pack);
|
||||
GNOME_Trilobite_Eazel_InstallCallback_file_uniqueness_check (service->callback,
|
||||
package,
|
||||
&ev);
|
||||
CORBA_free (package);
|
||||
}
|
||||
CORBA_exception_free (&ev);
|
||||
#endif /* EAZEL_INSTALL_NO_CORBA */
|
||||
}
|
||||
|
||||
void
|
||||
eazel_install_emit_feature_consistency_check (EazelInstall *service,
|
||||
const PackageData *pack)
|
||||
{
|
||||
EAZEL_INSTALL_SANITY(service);
|
||||
gtk_signal_emit (GTK_OBJECT (service), signals[FEATURE_CONSISTENCY_CHECK], pack);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
eazel_install_emit_feature_consistency_check_default (EazelInstall *service,
|
||||
const PackageData *pack)
|
||||
{
|
||||
#ifndef EAZEL_INSTALL_NO_CORBA
|
||||
CORBA_Environment ev;
|
||||
CORBA_exception_init (&ev);
|
||||
EAZEL_INSTALL_SANITY(service);
|
||||
if (service->callback != CORBA_OBJECT_NIL) {
|
||||
GNOME_Trilobite_Eazel_PackageDataStruct *package;
|
||||
package = corba_packagedatastruct_from_packagedata (pack);
|
||||
GNOME_Trilobite_Eazel_InstallCallback_feature_consistency_check (service->callback,
|
||||
package,
|
||||
&ev);
|
||||
CORBA_free (package);
|
||||
}
|
||||
CORBA_exception_free (&ev);
|
||||
#endif /* EAZEL_INSTALL_NO_CORBA */
|
||||
}
|
||||
|
||||
void
|
||||
eazel_install_emit_install_progress (EazelInstall *service,
|
||||
|
|
|
@ -74,6 +74,9 @@ struct _EazelInstallClass
|
|||
#endif /* EAZEL_INSTALL_NO_CORBA */
|
||||
/* signal prototypes */
|
||||
void (*download_progress) (EazelInstall *service, const PackageData *package, int amount, int total);
|
||||
void (*file_conflict_check) (EazelInstall *service, const PackageData *package);
|
||||
void (*file_uniqueness_check) (EazelInstall *service, const PackageData *package);
|
||||
void (*feature_consistency_check) (EazelInstall *service, const PackageData *package);
|
||||
|
||||
gboolean (*preflight_check) (EazelInstall *service,
|
||||
GList *packages,
|
||||
|
@ -145,6 +148,12 @@ gboolean eazel_install_lock_tmp_dir (EazelInstall *service);
|
|||
/* This sets mode 700 on tmpdir and downloaded files */
|
||||
gboolean eazel_install_unlock_tmp_dir (EazelInstall *service);
|
||||
|
||||
void eazel_install_emit_file_conflict_check (EazelInstall *service,
|
||||
const PackageData *pack);
|
||||
void eazel_install_emit_file_uniqueness_check (EazelInstall *service,
|
||||
const PackageData *pack);
|
||||
void eazel_install_emit_feature_consistency_check (EazelInstall *service,
|
||||
const PackageData *pack);
|
||||
void eazel_install_emit_install_progress (EazelInstall *service,
|
||||
const PackageData *pack,
|
||||
int package_num, int num_packages,
|
||||
|
|
|
@ -675,7 +675,8 @@ packagedata_get_readable_name (const PackageData *pack)
|
|||
} else if ((pack->name != NULL) && (pack->version != NULL)) {
|
||||
/* This is a hack to shorten EazelSourceSnapshot names
|
||||
into the build date/time */
|
||||
if (strstr (pack->version, "Eazel")!=NULL && strstr (pack->minor, "200") != NULL) {
|
||||
if (pack->version && pack->minor &&
|
||||
strstr (pack->version, "Eazel")!=NULL && strstr (pack->minor, "200") != NULL) {
|
||||
char *month[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
|
||||
"Sep", "Oct", "Nov", "Dec"};
|
||||
char *temp, *temp2;
|
||||
|
|
Loading…
Reference in a new issue