Lines 70-75
Link Here
|
70 |
#include <xfce4-session/xfsm-upower.h> |
70 |
#include <xfce4-session/xfsm-upower.h> |
71 |
|
71 |
|
72 |
#ifdef HAVE_SYSTEMD |
72 |
#ifdef HAVE_SYSTEMD |
|
|
73 |
#define LOGIND_RUNNING() (access ("/run/systemd/seats/", F_OK) >= 0) |
73 |
#include <xfce4-session/xfsm-systemd.h> |
74 |
#include <xfce4-session/xfsm-systemd.h> |
74 |
#else |
75 |
#else |
75 |
#include <xfce4-session/xfsm-consolekit.h> |
76 |
#include <xfce4-session/xfsm-consolekit.h> |
Lines 142-148
Link Here
|
142 |
XfceKiosk *kiosk; |
143 |
XfceKiosk *kiosk; |
143 |
|
144 |
|
144 |
#ifdef HAVE_SYSTEMD |
145 |
#ifdef HAVE_SYSTEMD |
145 |
shutdown->systemd = xfsm_systemd_get (); |
146 |
if (LOGIND_RUNNING()) |
|
|
147 |
shutdown->systemd = xfsm_systemd_get (); |
148 |
else |
149 |
shutdown->systemd = NULL; |
146 |
#else |
150 |
#else |
147 |
shutdown->consolekit = xfsm_consolekit_get (); |
151 |
shutdown->consolekit = xfsm_consolekit_get (); |
148 |
#endif |
152 |
#endif |
Lines 165-171
Link Here
|
165 |
XfsmShutdown *shutdown = XFSM_SHUTDOWN (object); |
169 |
XfsmShutdown *shutdown = XFSM_SHUTDOWN (object); |
166 |
|
170 |
|
167 |
#ifdef HAVE_SYSTEMD |
171 |
#ifdef HAVE_SYSTEMD |
168 |
g_object_unref (G_OBJECT (shutdown->systemd)); |
172 |
if (LOGIND_RUNNING()) |
|
|
173 |
g_object_unref (G_OBJECT (shutdown->systemd)); |
169 |
#else |
174 |
#else |
170 |
g_object_unref (G_OBJECT (shutdown->consolekit)); |
175 |
g_object_unref (G_OBJECT (shutdown->consolekit)); |
171 |
#endif |
176 |
#endif |
Lines 662-668
Link Here
|
662 |
return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_RESTART, error); |
667 |
return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_RESTART, error); |
663 |
else |
668 |
else |
664 |
#ifdef HAVE_SYSTEMD |
669 |
#ifdef HAVE_SYSTEMD |
665 |
return xfsm_systemd_try_restart (shutdown->systemd, error); |
670 |
if (LOGIND_RUNNING()) |
|
|
671 |
return xfsm_systemd_try_restart (shutdown->systemd, error); |
672 |
else |
673 |
return FALSE; |
666 |
#else |
674 |
#else |
667 |
return xfsm_consolekit_try_restart (shutdown->consolekit, error); |
675 |
return xfsm_consolekit_try_restart (shutdown->consolekit, error); |
668 |
#endif |
676 |
#endif |
Lines 683-689
Link Here
|
683 |
return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SHUTDOWN, error); |
691 |
return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SHUTDOWN, error); |
684 |
else |
692 |
else |
685 |
#ifdef HAVE_SYSTEMD |
693 |
#ifdef HAVE_SYSTEMD |
686 |
return xfsm_systemd_try_shutdown (shutdown->systemd, error); |
694 |
if (LOGIND_RUNNING()) |
|
|
695 |
return xfsm_systemd_try_shutdown (shutdown->systemd, error); |
696 |
else |
697 |
return FALSE; |
687 |
#else |
698 |
#else |
688 |
return xfsm_consolekit_try_shutdown (shutdown->consolekit, error); |
699 |
return xfsm_consolekit_try_shutdown (shutdown->consolekit, error); |
689 |
#endif |
700 |
#endif |
Lines 696-702
Link Here
|
696 |
GError **error) |
707 |
GError **error) |
697 |
{ |
708 |
{ |
698 |
g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); |
709 |
g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); |
699 |
|
710 |
#ifdef HAVE_SYSTEMD |
|
|
711 |
if (LOGIND_RUNNING()) |
712 |
return xfsm_systemd_try_suspend (shutdown->systemd, error); |
713 |
else |
714 |
return FALSE; |
715 |
#else |
700 |
#if UP_CHECK_VERSION(0, 99, 0) |
716 |
#if UP_CHECK_VERSION(0, 99, 0) |
701 |
if (shutdown->helper_state == SUDO_AVAILABLE) |
717 |
if (shutdown->helper_state == SUDO_AVAILABLE) |
702 |
{ |
718 |
{ |
Lines 708-713
Link Here
|
708 |
#else |
724 |
#else |
709 |
return xfsm_upower_try_suspend (shutdown->upower, error); |
725 |
return xfsm_upower_try_suspend (shutdown->upower, error); |
710 |
#endif |
726 |
#endif |
|
|
727 |
#endif |
711 |
} |
728 |
} |
712 |
|
729 |
|
713 |
|
730 |
|
Lines 717-723
Link Here
|
717 |
GError **error) |
734 |
GError **error) |
718 |
{ |
735 |
{ |
719 |
g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); |
736 |
g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); |
720 |
|
737 |
#ifdef HAVE_SYSTEMD |
|
|
738 |
if (LOGIND_RUNNING()) |
739 |
return xfsm_systemd_try_hibernate (shutdown->systemd, error); |
740 |
else |
741 |
return FALSE; |
742 |
#else |
721 |
#if UP_CHECK_VERSION(0, 99, 0) |
743 |
#if UP_CHECK_VERSION(0, 99, 0) |
722 |
if (shutdown->helper_state == SUDO_AVAILABLE) |
744 |
if (shutdown->helper_state == SUDO_AVAILABLE) |
723 |
{ |
745 |
{ |
Lines 729-734
Link Here
|
729 |
#else |
751 |
#else |
730 |
return xfsm_upower_try_hibernate (shutdown->upower, error); |
752 |
return xfsm_upower_try_hibernate (shutdown->upower, error); |
731 |
#endif |
753 |
#endif |
|
|
754 |
#endif |
732 |
} |
755 |
} |
733 |
|
756 |
|
734 |
|
757 |
|
Lines 747-753
Link Here
|
747 |
} |
770 |
} |
748 |
|
771 |
|
749 |
#ifdef HAVE_SYSTEMD |
772 |
#ifdef HAVE_SYSTEMD |
750 |
if (xfsm_systemd_can_restart (shutdown->systemd, can_restart, error)) |
773 |
if (LOGIND_RUNNING() && xfsm_systemd_can_restart (shutdown->systemd, can_restart, error)) |
751 |
#else |
774 |
#else |
752 |
if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error)) |
775 |
if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error)) |
753 |
#endif |
776 |
#endif |
Lines 778-784
Link Here
|
778 |
} |
801 |
} |
779 |
|
802 |
|
780 |
#ifdef HAVE_SYSTEMD |
803 |
#ifdef HAVE_SYSTEMD |
781 |
if (xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error)) |
804 |
if (LOGIND_RUNNING() && xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error)) |
782 |
#else |
805 |
#else |
783 |
if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error)) |
806 |
if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error)) |
784 |
#endif |
807 |
#endif |
Lines 808-814
Link Here
|
808 |
*can_suspend = FALSE; |
831 |
*can_suspend = FALSE; |
809 |
return TRUE; |
832 |
return TRUE; |
810 |
} |
833 |
} |
811 |
|
834 |
#ifdef HAVE_SYSTEMD |
|
|
835 |
if (LOGIND_RUNNING()) |
836 |
return xfsm_systemd_can_suspend (shutdown->systemd, can_suspend, |
837 |
auth_suspend, error); |
838 |
else |
839 |
return FALSE; |
840 |
#else |
812 |
#if UP_CHECK_VERSION(0, 99, 0) |
841 |
#if UP_CHECK_VERSION(0, 99, 0) |
813 |
*can_suspend = xfsm_shutdown_fallback_can_suspend (); |
842 |
*can_suspend = xfsm_shutdown_fallback_can_suspend (); |
814 |
return TRUE; |
843 |
return TRUE; |
Lines 816-821
Link Here
|
816 |
return xfsm_upower_can_suspend (shutdown->upower, can_suspend, |
845 |
return xfsm_upower_can_suspend (shutdown->upower, can_suspend, |
817 |
auth_suspend, error); |
846 |
auth_suspend, error); |
818 |
#endif |
847 |
#endif |
|
|
848 |
#endif |
819 |
} |
849 |
} |
820 |
|
850 |
|
821 |
|
851 |
|
Lines 833-839
Link Here
|
833 |
*can_hibernate = FALSE; |
863 |
*can_hibernate = FALSE; |
834 |
return TRUE; |
864 |
return TRUE; |
835 |
} |
865 |
} |
836 |
|
866 |
#ifdef HAVE_SYSTEMD |
|
|
867 |
if (LOGIND_RUNNING()) |
868 |
return xfsm_systemd_can_hibernate (shutdown->systemd, can_hibernate, |
869 |
auth_hibernate, error); |
870 |
else |
871 |
return FALSE; |
872 |
#else |
837 |
#if UP_CHECK_VERSION(0, 99, 0) |
873 |
#if UP_CHECK_VERSION(0, 99, 0) |
838 |
*can_hibernate = xfsm_shutdown_fallback_can_hibernate (); |
874 |
*can_hibernate = xfsm_shutdown_fallback_can_hibernate (); |
839 |
return TRUE; |
875 |
return TRUE; |
Lines 841-846
Link Here
|
841 |
return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate, |
877 |
return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate, |
842 |
auth_hibernate, error); |
878 |
auth_hibernate, error); |
843 |
#endif |
879 |
#endif |
|
|
880 |
#endif |
844 |
} |
881 |
} |
845 |
|
882 |
|
846 |
|
883 |
|