~ubuntu-branches/ubuntu/wily/blueman/wily

« back to all changes in this revision

Viewing changes to blueman/plugins/mechanism/Rfcomm.py.in

  • Committer: Package Import Robot
  • Author(s): Sean Davis
  • Date: 2015-09-07 12:48:18 UTC
  • mfrom: (2.3.11 sid)
  • Revision ID: package-import@ubuntu.com-20150907124818-evulc0mhjotz8q29
Tags: 2.0-1ubuntu1
* Merge from Debian unstable (LP: #1482626). Remaining changes:
  - debian/patches/03_filemanage_fix.patch:
    + Dropped, no longer needed.
  - debian/patches/dhcpclient_priority
  - debian/patches/01_dont_autostart_lxde.patch
    + Refreshed patches

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from __future__ import print_function
 
2
from __future__ import division
 
3
from __future__ import absolute_import
 
4
from __future__ import unicode_literals
 
5
 
 
6
import dbus.service
 
7
import os
 
8
import subprocess
 
9
import signal
 
10
from blueman.plugins.MechanismPlugin import MechanismPlugin
 
11
 
 
12
 
 
13
class Rfcomm(MechanismPlugin):
 
14
    files = {}
 
15
 
 
16
    @dbus.service.method('org.blueman.Mechanism', in_signature="d")
 
17
    def open_rfcomm(self, port_id):
 
18
        subprocess.Popen(['@LIBEXECDIR@/blueman-rfcomm-watcher', '/dev/rfcomm%d' % port_id])
 
19
 
 
20
    @dbus.service.method('org.blueman.Mechanism', in_signature="d")
 
21
    def close_rfcomm(self, port_id):
 
22
        command = 'blueman-rfcomm-watcher /dev/rfcomm%d' % port_id
 
23
 
 
24
        out, err = subprocess.Popen(['ps', '-e', 'o', 'pid,args'], stdout=subprocess.PIPE).communicate()
 
25
        for line in out.splitlines():
 
26
            if command in line:
 
27
                os.kill(int(line.split(None, 1)[0]), signal.SIGTERM)