diff options
Diffstat (limited to 'cut-n-paste-code')
-rw-r--r-- | cut-n-paste-code/libegg/eggsmclient-private.h | 32 | ||||
-rw-r--r-- | cut-n-paste-code/libegg/eggsmclient.c | 12 | ||||
-rw-r--r-- | cut-n-paste-code/libegg/eggsmclient.h | 172 |
3 files changed, 96 insertions, 120 deletions
diff --git a/cut-n-paste-code/libegg/eggsmclient-private.h b/cut-n-paste-code/libegg/eggsmclient-private.h index e187285b..91cdf92d 100644 --- a/cut-n-paste-code/libegg/eggsmclient-private.h +++ b/cut-n-paste-code/libegg/eggsmclient-private.h @@ -23,40 +23,28 @@ #include <gtk/gtk.h> #if !GTK_CHECK_VERSION(3, 0, 0) - #include <gdkconfig.h> +#include <gdkconfig.h> #endif #include "eggsmclient.h" -#ifdef __cplusplus -extern "C" { -#endif +G_BEGIN_DECLS - GKeyFile *egg_sm_client_save_state (EggSMClient *client); - void egg_sm_client_quit_requested (EggSMClient *client); - void egg_sm_client_quit_cancelled (EggSMClient *client); - void egg_sm_client_quit (EggSMClient *client); +GKeyFile *egg_sm_client_save_state (EggSMClient *client); +void egg_sm_client_quit_requested (EggSMClient *client); +void egg_sm_client_quit_cancelled (EggSMClient *client); +void egg_sm_client_quit (EggSMClient *client); #if defined (GDK_WINDOWING_X11) -# ifdef EGG_SM_CLIENT_BACKEND_XSMP +#ifdef EGG_SM_CLIENT_BACKEND_XSMP GType egg_sm_client_xsmp_get_type (void); EggSMClient *egg_sm_client_xsmp_new (void); -# endif -# ifdef EGG_SM_CLIENT_BACKEND_DBUS +#endif +#ifdef EGG_SM_CLIENT_BACKEND_DBUS GType egg_sm_client_dbus_get_type (void); EggSMClient *egg_sm_client_dbus_new (void); -# endif -#elif defined (GDK_WINDOWING_WIN32) - GType egg_sm_client_win32_get_type (void); - EggSMClient *egg_sm_client_win32_new (void); -#elif defined (GDK_WINDOWING_QUARTZ) - GType egg_sm_client_osx_get_type (void); - EggSMClient *egg_sm_client_osx_new (void); -#endif - -#ifdef __cplusplus -} #endif +G_END_DECLS #endif /* __EGG_SM_CLIENT_PRIVATE_H__ */ diff --git a/cut-n-paste-code/libegg/eggsmclient.c b/cut-n-paste-code/libegg/eggsmclient.c index 235398f4..cce8e6b0 100644 --- a/cut-n-paste-code/libegg/eggsmclient.c +++ b/cut-n-paste-code/libegg/eggsmclient.c @@ -333,22 +333,16 @@ egg_sm_client_get (void) if (global_client_mode != EGG_SM_CLIENT_MODE_DISABLED && !sm_client_disable) { -#if defined (GDK_WINDOWING_WIN32) - global_client = egg_sm_client_win32_new (); -#elif defined (GDK_WINDOWING_QUARTZ) - global_client = egg_sm_client_osx_new (); -#else /* If both D-Bus and XSMP are compiled in, try XSMP first * (since it supports state saving) and fall back to D-Bus * if XSMP isn't available. */ -# ifdef EGG_SM_CLIENT_BACKEND_XSMP +#ifdef EGG_SM_CLIENT_BACKEND_XSMP global_client = egg_sm_client_xsmp_new (); -# endif -# ifdef EGG_SM_CLIENT_BACKEND_DBUS +#endif +#ifdef EGG_SM_CLIENT_BACKEND_DBUS if (!global_client) global_client = egg_sm_client_dbus_new (); -# endif #endif } diff --git a/cut-n-paste-code/libegg/eggsmclient.h b/cut-n-paste-code/libegg/eggsmclient.h index 1fba40cd..1911b89e 100644 --- a/cut-n-paste-code/libegg/eggsmclient.h +++ b/cut-n-paste-code/libegg/eggsmclient.h @@ -22,9 +22,7 @@ #include <glib-object.h> -#ifdef __cplusplus -extern "C" { -#endif +G_BEGIN_DECLS #define EGG_TYPE_SM_CLIENT (egg_sm_client_get_type ()) #define EGG_SM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT, EggSMClient)) @@ -33,91 +31,87 @@ extern "C" { #define EGG_IS_SM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT)) #define EGG_SM_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT, EggSMClientClass)) - typedef struct _EggSMClient EggSMClient; - typedef struct _EggSMClientClass EggSMClientClass; - typedef struct _EggSMClientPrivate EggSMClientPrivate; - - typedef enum - { - EGG_SM_CLIENT_END_SESSION_DEFAULT, - EGG_SM_CLIENT_LOGOUT, - EGG_SM_CLIENT_REBOOT, - EGG_SM_CLIENT_SHUTDOWN - } EggSMClientEndStyle; - - typedef enum - { - EGG_SM_CLIENT_MODE_DISABLED, - EGG_SM_CLIENT_MODE_NO_RESTART, - EGG_SM_CLIENT_MODE_NORMAL - } EggSMClientMode; - - struct _EggSMClient - { - GObject parent; - - }; - - struct _EggSMClientClass - { - GObjectClass parent_class; - - /* signals */ - void (*save_state) (EggSMClient *client, - GKeyFile *state_file); - - void (*quit_requested) (EggSMClient *client); - void (*quit_cancelled) (EggSMClient *client); - void (*quit) (EggSMClient *client); - - /* virtual methods */ - void (*startup) (EggSMClient *client, - const char *client_id); - void (*set_restart_command) (EggSMClient *client, - int argc, - const char **argv); - void (*will_quit) (EggSMClient *client, - gboolean will_quit); - gboolean (*end_session) (EggSMClient *client, - EggSMClientEndStyle style, - gboolean request_confirmation); - - /* Padding for future expansion */ - void (*_egg_reserved1) (void); - void (*_egg_reserved2) (void); - void (*_egg_reserved3) (void); - void (*_egg_reserved4) (void); - }; - - GType egg_sm_client_get_type (void) G_GNUC_CONST; - - GOptionGroup *egg_sm_client_get_option_group (void); - - /* Initialization */ - void egg_sm_client_set_mode (EggSMClientMode mode); - EggSMClientMode egg_sm_client_get_mode (void); - EggSMClient *egg_sm_client_get (void); - - /* Resuming a saved session */ - gboolean egg_sm_client_is_resumed (EggSMClient *client); - GKeyFile *egg_sm_client_get_state_file (EggSMClient *client); - - /* Alternate means of saving state */ - void egg_sm_client_set_restart_command (EggSMClient *client, - int argc, - const char **argv); - - /* Handling "quit_requested" signal */ - void egg_sm_client_will_quit (EggSMClient *client, - gboolean will_quit); - - /* Initiate a logout/reboot/shutdown */ - gboolean egg_sm_client_end_session (EggSMClientEndStyle style, - gboolean request_confirmation); - -#ifdef __cplusplus -} -#endif - +typedef struct _EggSMClient EggSMClient; +typedef struct _EggSMClientClass EggSMClientClass; +typedef struct _EggSMClientPrivate EggSMClientPrivate; + +typedef enum +{ + EGG_SM_CLIENT_END_SESSION_DEFAULT, + EGG_SM_CLIENT_LOGOUT, + EGG_SM_CLIENT_REBOOT, + EGG_SM_CLIENT_SHUTDOWN +} EggSMClientEndStyle; + +typedef enum +{ + EGG_SM_CLIENT_MODE_DISABLED, + EGG_SM_CLIENT_MODE_NO_RESTART, + EGG_SM_CLIENT_MODE_NORMAL +} EggSMClientMode; + +struct _EggSMClient +{ + GObject parent; +}; + +struct _EggSMClientClass +{ + GObjectClass parent_class; + + /* signals */ + void (*save_state) (EggSMClient *client, + GKeyFile *state_file); + + void (*quit_requested) (EggSMClient *client); + void (*quit_cancelled) (EggSMClient *client); + void (*quit) (EggSMClient *client); + + /* virtual methods */ + void (*startup) (EggSMClient *client, + const char *client_id); + void (*set_restart_command) (EggSMClient *client, + int argc, + const char **argv); + void (*will_quit) (EggSMClient *client, + gboolean will_quit); + gboolean (*end_session) (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation); + + /* Padding for future expansion */ + void (*_egg_reserved1) (void); + void (*_egg_reserved2) (void); + void (*_egg_reserved3) (void); + void (*_egg_reserved4) (void); +}; + +GType egg_sm_client_get_type (void) G_GNUC_CONST; + +GOptionGroup *egg_sm_client_get_option_group (void); + +/* Initialization */ +void egg_sm_client_set_mode (EggSMClientMode mode); +EggSMClientMode egg_sm_client_get_mode (void); +EggSMClient *egg_sm_client_get (void); + +/* Resuming a saved session */ +gboolean egg_sm_client_is_resumed (EggSMClient *client); +GKeyFile *egg_sm_client_get_state_file (EggSMClient *client); + +/* Alternate means of saving state */ +void egg_sm_client_set_restart_command (EggSMClient *client, + int argc, + const char **argv); + +/* Handling "quit_requested" signal */ +void egg_sm_client_will_quit (EggSMClient *client, + gboolean will_quit); + +/* Initiate a logout/reboot/shutdown */ +gboolean egg_sm_client_end_session (EggSMClientEndStyle style, + gboolean request_confirmation); + +G_END_DECLS #endif /* __EGG_SM_CLIENT_H__ */ |