OSDN Git Service

first commit
[slackware/slackbuild.git] / networkmanager / 55NetworkManager
1 #!/bin/sh
2 # If we are running NetworkManager, tell it we are going to sleep.
3 # TODO: Make NetworkManager smarter about how to handle sleep/resume
4 #       If we are asleep for less time than it takes for TCP to reset a
5 #       connection, and we are assigned the same IP on resume, we should
6 #       not break established connections.  Apple can do this, and it is
7 #       rather nifty.
8
9 . "${PM_FUNCTIONS}"
10
11 suspend_nm()
12 {
13         # Tell NetworkManager to shut down networking
14         printf "Having NetworkManager put all interaces to sleep..."
15         dbus_send --system                         \
16                 --dest=org.freedesktop.NetworkManager  \
17                 /org/freedesktop/NetworkManager        \
18                 org.freedesktop.NetworkManager.sleep && \
19             echo Done. || echo Failed.
20 }
21
22 resume_nm()
23 {
24         # Wake up NetworkManager and make it do a new connection
25         printf "Having NetworkManager wake interfaces back up..."
26         dbus_send --system                        \
27                 --dest=org.freedesktop.NetworkManager \
28                 /org/freedesktop/NetworkManager       \
29                 org.freedesktop.NetworkManager.wake && \
30             echo Done. || echo Failed.
31 }
32
33 case "$1" in
34         hibernate|suspend)
35                 suspend_nm
36                 ;;
37         thaw|resume)
38                 resume_nm
39                 ;;
40         *) exit $NA
41                 ;;
42 esac