~ubuntu-branches/ubuntu/maverick/hal/maverick

« back to all changes in this revision

Viewing changes to tools/hal-functions

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2007-10-23 12:33:58 UTC
  • mto: (1.5.1 sid)
  • mto: This revision was merged to the branch mainline in revision 90.
  • 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
# -*-Shell-script-*-
 
2
#
 
3
# hal-functions         This file contains functions to be used by most or all
 
4
#                       hal shell scripts
 
5
 
 
6
hal_check_priv() {
 
7
    if [ "$HAVE_POLKIT" = "1" -a -n $HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME ]; then
 
8
        local ACTION
 
9
        local PK_RESULT
 
10
        local RET
 
11
        ACTION=$1
 
12
        PK_RESULT=`hal-is-caller-privileged --udi $UDI --action $ACTION \
 
13
            --caller $HAL_METHOD_INVOKED_BY_SYSTEMBUS_CONNECTION_NAME`
 
14
        RET=$?
 
15
        if [ "$RET" != "0" ]; then
 
16
            echo "org.freedesktop.Hal.Device.Error" >&2
 
17
            echo "Cannot determine if caller is privileged" >&2
 
18
            exit 1
 
19
        fi
 
20
        if [ "$PK_RESULT" != "yes" ] ;then
 
21
            echo "org.freedesktop.Hal.Device.PermissionDeniedByPolicy" >&2
 
22
            echo "$ACTION $PK_RESULT <-- (action, result)" >&2
 
23
            exit 1
 
24
        fi
 
25
    fi
 
26
}
 
27
 
 
28
hal_call_backend() {
 
29
    local PROGRAM
 
30
    PROGRAM=$(basename $0)
 
31
    if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S ]; then
 
32
        ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S $@
 
33
    else
 
34
        echo "org.freedesktop.Hal.Device.UnknownError" >&2
 
35
        echo "No back-end for your operating system" >&2
 
36
        exit 1
 
37
    fi
 
38
}
 
39
 
 
40
hal_exec_backend() {
 
41
    local PROGRAM
 
42
    PROGRAM=$(basename $0)
 
43
    if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S ]; then
 
44
        exec ./$HALD_UNAME_S/$PROGRAM-$HALD_UNAME_S $@
 
45
    else
 
46
        echo "org.freedesktop.Hal.Device.UnknownError" >&2
 
47
        echo "No back-end for your operating system" >&2
 
48
        exit 1
 
49
    fi
 
50
}