File: hal-functions

package info (click to toggle)
hal 0.5.14-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 10,212 kB
  • ctags: 4,854
  • sloc: ansic: 60,732; xml: 16,387; sh: 11,366; makefile: 1,111; cpp: 292
file content (50 lines) | stat: -rwxr-xr-x 1,602 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*-Shell-script-*-
#
# hal-functions         This file contains functions to be used by most or all
#                       hal shell scripts

hal_check_priv() {
    if [ "$HAVE_POLKIT" = "1" -a -n $HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME ]; then
        local ACTION
        local PK_RESULT
        local RET
        ACTION=$1
        PK_RESULT=`hal-is-caller-privileged --udi $UDI --action $ACTION \
            --caller $HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME`
        RET=$?
        if [ "$RET" != "0" ]; then
            echo "org.freedesktop.Hal.Device.Error" >&2
            echo "Cannot determine if caller is privileged" >&2
            exit 1
        fi
        if [ "$PK_RESULT" != "yes" ] ;then
            echo "org.freedesktop.Hal.Device.PermissionDeniedByPolicy" >&2
            echo "$ACTION $PK_RESULT <-- (action, result)" >&2
            exit 1
        fi
    fi
}

hal_call_backend() {
    local PROGRAM
    PROGRAM=$(basename $0)
    if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S ]; then
        ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S $@
    else
        echo "org.freedesktop.Hal.Device.UnknownError" >&2
        echo "No back-end for your operating system" >&2
        exit 1
    fi
}

hal_exec_backend() {
    local PROGRAM
    PROGRAM=$(basename $0)
    if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S ]; then
        exec ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S $@
    else
        echo "org.freedesktop.Hal.Device.UnknownError" >&2
        echo "No back-end for your operating system" >&2
        exit 1
    fi
}