[Ekiga-devel-list] [RFC] Plugins/Order of initialization in Ekiga



Folks,

as discussed before on IRC, Ekiga's current initialization procedure is
either in the wrong logic, wrong order or too inflexible to introduce
the new plugin system:

main()
+---- PProcess::PreInitialise ()
+---- g_thread_init ()
+---- gdk_threads_init ()
+---- gm_conf_init ()
+---- [Gettext init]
+---- gnome_program_init ()
+---- [IF BONOBO] bonobo_component_init ()
+---- PTrace::Initialise ()
+---- GnomeMeeting::Process ()->BuildGUI ()
  +---- gnomemeeting_addressbook_init ()
  +---- gnomemeeting_stock_icons_init ()
  +---- [Create the windows]
  +---- [IF DBUS] gnomemeeting_dbus_component_new ();
  +---- gm_statusicon_new ()
+---- GnomeMeeting::Process ()->DetectInterfaces ()
+---- GnomeMeeting::Process ()->Init ()
+---- GnomeMeeting::Process ()->DetectCodecs ()
+---- gnomemeeting_conf_init ()
+---- [UI init]
+---- gtk_main ()


Where to hook plugin initialization?

IMHO it needs
- a working gmconf
- MAYBE a pre-initialized but not built UI
to make all other components available as plugins/with plugin addons.

In the current (above) order my first hook would be right after the
PTrace initializer.

Regards,
Jan

-- 
"One of the main causes of the fall of the Roman Empire was that,
lacking zero, they had no way to indicate successful termination of
their C programs" --Robert Firth



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]