Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 504044 | Differences between
and this patch

Collapse All | Expand All

(-)a/xfce4-session/Makefile.am (-4 / +4 lines)
Lines 59-67 xfce4_session_SOURCES = \ Link Here
59
	xfsm-splash-screen.c						\
59
	xfsm-splash-screen.c						\
60
	xfsm-splash-screen.h						\
60
	xfsm-splash-screen.h						\
61
	xfsm-startup.c							\
61
	xfsm-startup.c							\
62
	xfsm-startup.h							\
62
	xfsm-startup.h
63
	xfsm-upower.c							\
64
	xfsm-upower.h
65
63
66
if HAVE_SYSTEMD
64
if HAVE_SYSTEMD
67
xfce4_session_SOURCES +=						\
65
xfce4_session_SOURCES +=						\
Lines 70-76 xfce4_session_SOURCES += \ Link Here
70
else
68
else
71
xfce4_session_SOURCES +=						\
69
xfce4_session_SOURCES +=						\
72
	xfsm-consolekit.c						\
70
	xfsm-consolekit.c						\
73
	xfsm-consolekit.h
71
	xfsm-consolekit.h                       \
72
	xfsm-upower.c							\
73
	xfsm-upower.h
74
endif
74
endif
75
75
76
xfce4_session_CFLAGS =							\
76
xfce4_session_CFLAGS =							\
(-)a/xfce4-session/xfsm-shutdown.c (-8 / +34 lines)
Lines 66-77 Link Here
66
#include <xfce4-session/xfsm-fadeout.h>
66
#include <xfce4-session/xfsm-fadeout.h>
67
#include <xfce4-session/xfsm-global.h>
67
#include <xfce4-session/xfsm-global.h>
68
#include <xfce4-session/xfsm-legacy.h>
68
#include <xfce4-session/xfsm-legacy.h>
69
#include <xfce4-session/xfsm-upower.h>
70
69
71
#ifdef HAVE_SYSTEMD
70
#ifdef HAVE_SYSTEMD
72
#include <xfce4-session/xfsm-systemd.h>
71
#include <xfce4-session/xfsm-systemd.h>
73
#else
72
#else
74
#include <xfce4-session/xfsm-consolekit.h>
73
#include <xfce4-session/xfsm-consolekit.h>
74
#include <xfce4-session/xfsm-upower.h>
75
#endif
75
#endif
76
76
77
static void xfsm_shutdown_finalize  (GObject      *object);
77
static void xfsm_shutdown_finalize  (GObject      *object);
Lines 100-107 struct _XfsmShutdown Link Here
100
  XfsmSystemd    *systemd;
100
  XfsmSystemd    *systemd;
101
#else
101
#else
102
  XfsmConsolekit *consolekit;
102
  XfsmConsolekit *consolekit;
103
#endif
104
  XfsmUPower     *upower;
103
  XfsmUPower     *upower;
104
#endif
105
105
106
  /* kiosk settings */
106
  /* kiosk settings */
107
  gboolean        kiosk_can_shutdown;
107
  gboolean        kiosk_can_shutdown;
Lines 142-149 xfsm_shutdown_init (XfsmShutdown *shutdown) Link Here
142
  shutdown->systemd = xfsm_systemd_get ();
142
  shutdown->systemd = xfsm_systemd_get ();
143
#else
143
#else
144
  shutdown->consolekit = xfsm_consolekit_get ();
144
  shutdown->consolekit = xfsm_consolekit_get ();
145
#endif
146
  shutdown->upower = xfsm_upower_get ();
145
  shutdown->upower = xfsm_upower_get ();
146
#endif
147
  shutdown->helper_state = SUDO_NOT_INITIAZED;
147
  shutdown->helper_state = SUDO_NOT_INITIAZED;
148
  shutdown->helper_require_password = FALSE;
148
  shutdown->helper_require_password = FALSE;
149
149
Lines 165-172 xfsm_shutdown_finalize (GObject *object) Link Here
165
  g_object_unref (G_OBJECT (shutdown->systemd));
165
  g_object_unref (G_OBJECT (shutdown->systemd));
166
#else
166
#else
167
  g_object_unref (G_OBJECT (shutdown->consolekit));
167
  g_object_unref (G_OBJECT (shutdown->consolekit));
168
#endif
169
  g_object_unref (G_OBJECT (shutdown->upower));
168
  g_object_unref (G_OBJECT (shutdown->upower));
169
#endif
170
170
171
  /* close down helper */
171
  /* close down helper */
172
  xfsm_shutdown_sudo_free (shutdown);
172
  xfsm_shutdown_sudo_free (shutdown);
Lines 692-698 xfsm_shutdown_try_suspend (XfsmShutdown *shutdown, Link Here
692
{
692
{
693
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
693
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
694
694
695
#ifdef HAVE_SYSTEMD
696
  return xfsm_systemd_try_suspend (shutdown->systemd, error);
697
#else
695
  return xfsm_upower_try_suspend (shutdown->upower, error);
698
  return xfsm_upower_try_suspend (shutdown->upower, error);
699
#endif
696
}
700
}
697
701
698
702
Lines 703-709 xfsm_shutdown_try_hibernate (XfsmShutdown *shutdown, Link Here
703
{
707
{
704
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
708
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
705
709
710
#ifdef HAVE_SYSTEMD
711
  return xfsm_systemd_try_hibernate (shutdown->systemd, error);
712
#else
706
  return xfsm_upower_try_hibernate (shutdown->upower, error);
713
  return xfsm_upower_try_hibernate (shutdown->upower, error);
714
#endif
707
}
715
}
708
716
709
717
Lines 776-781 xfsm_shutdown_can_suspend (XfsmShutdown *shutdown, Link Here
776
                           gboolean      *auth_suspend,
784
                           gboolean      *auth_suspend,
777
                           GError       **error)
785
                           GError       **error)
778
{
786
{
787
  gboolean ret;
788
779
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
789
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
780
790
781
  if (!xfsm_shutdown_kiosk_can_shutdown (shutdown, NULL))
791
  if (!xfsm_shutdown_kiosk_can_shutdown (shutdown, NULL))
Lines 784-791 xfsm_shutdown_can_suspend (XfsmShutdown *shutdown, Link Here
784
      return TRUE;
794
      return TRUE;
785
    }
795
    }
786
796
787
  return xfsm_upower_can_suspend (shutdown->upower, can_suspend, 
797
#ifdef HAVE_SYSTEMD
788
                                  auth_suspend, error);
798
  ret = xfsm_systemd_can_suspend (shutdown->systemd, can_suspend, error);
799
  *auth_suspend = *can_suspend;
800
#else
801
  ret = xfsm_upower_can_suspend (shutdown->upower, can_suspend,
802
                                 auth_suspend, error);
803
#endif
804
805
  return ret;
789
}
806
}
790
807
791
808
Lines 796-801 xfsm_shutdown_can_hibernate (XfsmShutdown *shutdown, Link Here
796
                             gboolean      *auth_hibernate,
813
                             gboolean      *auth_hibernate,
797
                             GError       **error)
814
                             GError       **error)
798
{
815
{
816
  gboolean ret;
817
799
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
818
  g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
800
819
801
  if (!xfsm_shutdown_kiosk_can_shutdown (shutdown, NULL))
820
  if (!xfsm_shutdown_kiosk_can_shutdown (shutdown, NULL))
Lines 804-811 xfsm_shutdown_can_hibernate (XfsmShutdown *shutdown, Link Here
804
      return TRUE;
823
      return TRUE;
805
    }
824
    }
806
825
807
  return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate,
826
#ifdef HAVE_SYSTEMD
808
                                    auth_hibernate, error);
827
  ret = xfsm_systemd_can_hibernate (shutdown->systemd, can_hibernate, error);
828
  *auth_hibernate = *can_hibernate;
829
#else
830
  ret = xfsm_upower_can_hibernate (shutdown->upower, can_hibernate,
831
                                   auth_hibernate, error);
832
#endif
833
834
  return ret;
809
}
835
}
810
836
811
837
(-)a/xfce4-session/xfsm-systemd.c (+52 lines)
Lines 33-40 Link Here
33
#define SYSTEMD_DBUS_INTERFACE          "org.freedesktop.login1.Manager"
33
#define SYSTEMD_DBUS_INTERFACE          "org.freedesktop.login1.Manager"
34
#define SYSTEMD_REBOOT_ACTION           "Reboot"
34
#define SYSTEMD_REBOOT_ACTION           "Reboot"
35
#define SYSTEMD_POWEROFF_ACTION         "PowerOff"
35
#define SYSTEMD_POWEROFF_ACTION         "PowerOff"
36
#define SYSTEMD_SUSPEND_ACTION          "Suspend"
37
#define SYSTEMD_HIBERNATE_ACTION        "Hibernate"
36
#define SYSTEMD_REBOOT_TEST             "org.freedesktop.login1.reboot"
38
#define SYSTEMD_REBOOT_TEST             "org.freedesktop.login1.reboot"
37
#define SYSTEMD_POWEROFF_TEST           "org.freedesktop.login1.power-off"
39
#define SYSTEMD_POWEROFF_TEST           "org.freedesktop.login1.power-off"
40
#define SYSTEMD_SUSPEND_TEST            "org.freedesktop.login1.suspend"
41
#define SYSTEMD_HIBERNATE_TEST          "org.freedesktop.login1.hibernate"
38
42
39
43
40
44
Lines 205-210 xfsm_systemd_try_shutdown (XfsmSystemd *systemd, Link Here
205
209
206
210
207
gboolean
211
gboolean
212
xfsm_systemd_try_suspend (XfsmSystemd  *systemd,
213
                          GError      **error)
214
{
215
  return xfsm_systemd_try_method (systemd,
216
                                  SYSTEMD_SUSPEND_ACTION,
217
                                  error);
218
}
219
220
221
222
gboolean
223
xfsm_systemd_try_hibernate (XfsmSystemd  *systemd,
224
                            GError      **error)
225
{
226
  return xfsm_systemd_try_method (systemd,
227
                                  SYSTEMD_HIBERNATE_ACTION,
228
                                  error);
229
}
230
231
232
233
gboolean
208
xfsm_systemd_can_restart (XfsmSystemd  *systemd,
234
xfsm_systemd_can_restart (XfsmSystemd  *systemd,
209
                          gboolean     *can_restart,
235
                          gboolean     *can_restart,
210
                          GError      **error)
236
                          GError      **error)
Lines 227-229 xfsm_systemd_can_shutdown (XfsmSystemd *systemd, Link Here
227
                                  SYSTEMD_POWEROFF_TEST,
253
                                  SYSTEMD_POWEROFF_TEST,
228
                                  error);
254
                                  error);
229
}
255
}
256
257
258
259
gboolean
260
xfsm_systemd_can_suspend (XfsmSystemd  *systemd,
261
                          gboolean     *can_suspend,
262
                          GError      **error)
263
{
264
  return xfsm_systemd_can_method (systemd,
265
                                  can_suspend,
266
                                  SYSTEMD_SUSPEND_TEST,
267
                                  error);
268
}
269
270
271
272
gboolean
273
xfsm_systemd_can_hibernate (XfsmSystemd  *systemd,
274
                            gboolean     *can_hibernate,
275
                            GError      **error)
276
{
277
  return xfsm_systemd_can_method (systemd,
278
                                  can_hibernate,
279
                                  SYSTEMD_HIBERNATE_TEST,
280
                                  error);
281
}
(-)a/xfce4-session/xfsm-systemd.h (-1 / +14 lines)
Lines 42-47 gboolean xfsm_systemd_try_restart (XfsmSystemd *systemd, Link Here
42
gboolean     xfsm_systemd_try_shutdown (XfsmSystemd  *systemd,
42
gboolean     xfsm_systemd_try_shutdown (XfsmSystemd  *systemd,
43
                                        GError      **error);
43
                                        GError      **error);
44
44
45
gboolean     xfsm_systemd_try_suspend  (XfsmSystemd  *systemd,
46
                                        GError      **error);
47
48
gboolean     xfsm_systemd_try_hibernate (XfsmSystemd *systemd,
49
                                        GError      **error);
50
45
gboolean     xfsm_systemd_can_restart  (XfsmSystemd  *systemd,
51
gboolean     xfsm_systemd_can_restart  (XfsmSystemd  *systemd,
46
                                        gboolean     *can_restart,
52
                                        gboolean     *can_restart,
47
                                        GError      **error);
53
                                        GError      **error);
Lines 50-55 gboolean xfsm_systemd_can_shutdown (XfsmSystemd *systemd, Link Here
50
                                        gboolean     *can_shutdown,
56
                                        gboolean     *can_shutdown,
51
                                        GError      **error);
57
                                        GError      **error);
52
58
59
gboolean     xfsm_systemd_can_suspend  (XfsmSystemd  *systemd,
60
                                        gboolean     *can_suspend,
61
                                        GError      **error);
62
63
gboolean     xfsm_systemd_can_hibernate (XfsmSystemd *systemd,
64
                                        gboolean     *can_hibernate,
65
                                        GError      **error);
66
53
G_END_DECLS
67
G_END_DECLS
54
68
55
#endif  /* __XFSM_SYSTEMD_H__ */
69
#endif  /* __XFSM_SYSTEMD_H__ */
56
- 

Return to bug 504044