~ubuntu-branches/debian/sid/hal/sid

« back to all changes in this revision

Viewing changes to tools/hal-system-power-suspend-hybrid

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2007-10-23 12:33:58 UTC
  • Revision ID: james.westby@ubuntu.com-20071023123358-xaf8mjc5n84d5gtz
Tags: upstream-0.5.10
ImportĀ upstreamĀ versionĀ 0.5.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/bin/sh
2
2
 
3
 
PRIVILEGE=hal-power-suspend
4
 
if [ "$HAVE_POLKIT" = "1" ] ; then
5
 
    if [ "$HAL_METHOD_INVOKED_BY_UID" != "0" ] ; then
6
 
        RESULT=$(polkit-is-privileged --privilege $PRIVILEGE \
7
 
            --user $HAL_METHOD_INVOKED_BY_UID \
8
 
            --system-bus-unique-name $HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME 2>&1)
9
 
        IS_PRIVILEGED=$?
10
 
        if [ "$IS_PRIVILEGED" != "0" ] ; then
11
 
            echo org.freedesktop.Hal.Device.PermissionDeniedByPolicy >&2
12
 
            echo $PRIVILEGE refused uid $HAL_METHOD_INVOKED_BY_UID >&2
13
 
            exit 1
14
 
        fi
15
 
    fi
16
 
fi
17
 
 
18
 
alarm_not_supported() {
19
 
        echo org.freedesktop.Hal.Device.SystemPowerManagement.AlarmNotSupported >&2
20
 
        echo Waking the system up is not supported >&2
21
 
        exit 1
22
 
}
23
 
 
24
 
unsupported() {
25
 
        echo org.freedesktop.Hal.Device.SystemPowerManagement.NotSupported >&2
26
 
        echo No suspend-hybrid method found >&2
27
 
        exit 1
28
 
}
29
 
 
30
 
read seconds_to_sleep
31
 
 
32
 
# Make a suitable command line argument so that the tools can do the correct
33
 
# quirks for video resume.
34
 
# Passing the quirks to the tool allows the tool to not depend on HAL for data.
35
 
QUIRKS=""
36
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_S3_BIOS" = "true" ] && QUIRKS="$QUIRKS --quirk-s3-bios"
37
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_S3_MODE" = "true" ] && QUIRKS="$QUIRKS --quirk-s3-mode"
38
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_DPMS_SUSPEND" = "true" ] && QUIRKS="$QUIRKS --quirk-dpms-suspend"
39
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_DPMS_ON" = "true" ] && QUIRKS="$QUIRKS --quirk-dpms-on"
40
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_VBESTATE_RESTORE" = "true" ] && QUIRKS="$QUIRKS --quirk-vbestate"
41
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_VBEMODE_RESTORE" = "true" ] && QUIRKS="$QUIRKS --quirk-vbemode"
42
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_VGA_MODE_3" = "true" ] && QUIRKS="$QUIRKS --quirk-vga-mode3"
43
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_VBE_POST" = "true" ] && QUIRKS="$QUIRKS --quirk-vbepost"
44
 
[ "$HAL_PROP_POWER_MANAGEMENT_QUIRK_RADEON_OFF" = "true" ] && QUIRKS="$QUIRKS --quirk-radeon-off"
45
 
 
46
 
if [ -x "/usr/sbin/pm-suspend-hybrid" ] ; then
47
 
    if [ $seconds_to_sleep != "0" ] ; then
48
 
        alarm_not_supported
49
 
    fi
50
 
    /usr/sbin/pm-suspend-hybrid $QUIRKS
51
 
    RET=$?
52
 
else
53
 
    unsupported
54
 
fi
55
 
 
56
 
exit $RET
 
3
. hal-functions
 
4
 
 
5
hal_check_priv org.freedesktop.hal.power-management.suspend
 
6
hal_exec_backend