Make the settings daemon a singleton BonoboObject so capplets can detect

2002-03-10  Seth Nickell  <snickell@stanford.edu>

        Make the settings daemon a singleton BonoboObject so capplets
	can detect whether its running and activate it if its not.

	* Makefile.am:
	* factory.c: (main):
	* gnome-settings-daemon.c: (awake_impl), (finalize),
	(gnome_settings_daemon_class_init), (gnome_settings_daemon_init),
	(gnome_settings_daemon_new):
	* gnome-settings-daemon.h:

	Convert the settings-daemon into a BonoboObject and add code to
	register it with bonobo-activation. Still has a main loop that can
	be run normally to launch the settings daemon.
This commit is contained in:
Seth Nickell 2002-03-11 01:44:03 +00:00 committed by Seth Nickell
parent fb94a4c2de
commit 3831d63e77
5 changed files with 192 additions and 21 deletions

View file

@ -28,6 +28,9 @@
#include <gconf/gconf-client.h>
#include <gtk/gtk.h>
#include <bonobo/bonobo-object.h>
#include "GNOME_SettingsDaemon.h"
typedef void (* KeyCallbackFunc) (GConfEntry *entry);
@ -35,4 +38,35 @@ void gnome_settings_daemon_register_callback (const char *dir,
KeyCallbackFunc func);
GtkWidget *gnome_settings_daemon_get_invisible (void);
G_BEGIN_DECLS
#define GNOME_SETTINGS_DAEMON_TYPE (gnome_settings_daemon_get_type ())
#define GNOME_SETTINGS_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_SETTINGS_DAEMON_TYPE, GnomeSettingsDaemon))
#define GNOME_SETTINGS_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_SETTINGS_DAEMON_TYPE, GnomeSettingsDaemonClass))
#define IS_GNOME_SETTINGS_DAEMON(obj) (GTK_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_SETTINGS_DAEMON_TYPE))
#define IS_GNOME_SETTINGS_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_SETTINGS_DAEMON_TYPE))
#define GNOME_SETTINGS_DAEMON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_SETTINGS_DAEMON_TYPE, GnomeSettingsDaemonClass))
typedef struct _GnomeSettingsDaemon GnomeSettingsDaemon;
typedef struct _GnomeSettingsDaemonClass GnomeSettingsDaemonClass;
typedef struct _GnomeSettingsDaemonPrivate GnomeSettingsDaemonPrivate;
struct _GnomeSettingsDaemon
{
BonoboObject parent_instance;
GnomeSettingsDaemonPrivate *private;
};
struct _GnomeSettingsDaemonClass
{
BonoboObjectClass parent_class;
POA_GNOME_SettingsDaemon__epv epv;
};
GType gnome_settings_daemon_get_type (void);
GObject *gnome_settings_daemon_new (void);
G_END_DECLS
#endif /* __GNOME_SETTINGS_DAEMON_H */