Exemple #1
0
    def on_connect(self, item, device, service_id, *args):
        def success(*args2):
            try:
                uuid16 = sdp_get_serial_type(device.Address, args[0])
            except:
                uuid16 = 0

            dprint("success", args2)
            prog.message(_("Success!"))

            if service_id == "serial" and SERIAL_PORT_SVCLASS_ID in uuid16:
                MessageArea.show_message(
                    _("Serial port connected to %s") % args2[0],
                    gtk.STOCK_DIALOG_INFO)
            else:
                MessageArea.close()

            self.unset_op(device)

        def fail(*args):
            prog.message(_("Failed"))

            self.unset_op(device)
            dprint("fail", args)
            MessageArea.show_message(
                _("Connection Failed: ") + e_(str(args[0])))

        def cancel(prog, *args):
            try:
                svc.Disconnect(*args)
            except:
                pass
            prog.message(_("Cancelled"))
            self.unset_op(device)

        svc = device.Services[service_id]
        self.set_op(device, _("Connecting..."))
        prog = ManagerProgressbar(self.Blueman, False)

        try:
            appl = AppletService()
        except:
            dprint("** Failed to connect to applet")
            fail()
            return
        try:
            appl.SetTimeHint(gtk.get_current_event_time())
        except:
            pass

        if service_id == "network":
            uuid = args[0]
            appl.ServiceProxy(svc.GetInterfaceName(),
                              svc.GetObjectPath(),
                              "Connect", [uuid],
                              reply_handler=success,
                              error_handler=fail,
                              timeout=200)
        #prog.set_cancellable(True)
        #prog.connect("cancelled", cancel)

        elif service_id == "input":
            appl.ServiceProxy(svc.GetInterfaceName(),
                              svc.GetObjectPath(),
                              "Connect", [],
                              reply_handler=success,
                              error_handler=fail,
                              timeout=200)
        #prog.connect("cancelled", cancel)

        elif service_id == "serial":
            uuid = str(args[0])

            appl.RfcommConnect(device.GetObjectPath(),
                               uuid,
                               reply_handler=success,
                               error_handler=fail,
                               timeout=200)

        else:
            appl.ServiceProxy(svc.GetInterfaceName(),
                              svc.GetObjectPath(),
                              "Connect", [],
                              reply_handler=success,
                              error_handler=fail,
                              timeout=200)

        prog.start()
    def on_connect(self, item, device, service_id=None, *args):
        def success(*args2):
            try:
                uuid16 = sdp_get_serial_type(device.Address, args[0])
            except:
                uuid16 = 0

            dprint("success", args2)
            prog.message(_("Success!"))

            if service_id == "serial" and SERIAL_PORT_SVCLASS_ID in uuid16:
                MessageArea.show_message(
                    _("Serial port connected to %s") % args2[0],
                    "dialog-information")
            else:
                MessageArea.close()

            self.unset_op(device)

        def fail(*args):
            prog.message(_("Failed"))

            self.unset_op(device)
            dprint("fail", args)
            MessageArea.show_message(
                _("Connection Failed: ") + e_(str(args[0])))

        self.set_op(device, _("Connecting..."))
        prog = ManagerProgressbar(self.Blueman, False)

        try:
            appl = AppletService()
        except:
            dprint("** Failed to connect to applet")
            fail()
            return
        try:
            appl.SetTimeHint(Gtk.get_current_event_time())
        except:
            pass

        if service_id:
            svc = device.Services[service_id]

            if service_id == "network":
                uuid = args[0]
                appl.ServiceProxy(svc.get_interface_name(),
                                  svc.get_object_path(),
                                  "Connect", [uuid],
                                  reply_handler=success,
                                  error_handler=fail,
                                  timeout=200)

            elif service_id == "input":
                appl.ServiceProxy(svc.get_interface_name(),
                                  svc.get_object_path(),
                                  "Connect", [],
                                  reply_handler=success,
                                  error_handler=fail,
                                  timeout=200)

            elif service_id == "serial":
                uuid = str(args[0])

                appl.RfcommConnect(device.get_object_path(),
                                   uuid,
                                   reply_handler=success,
                                   error_handler=fail,
                                   timeout=200)

            else:
                appl.ServiceProxy(svc.get_interface_name(),
                                  svc.get_object_path(),
                                  "Connect", [],
                                  reply_handler=success,
                                  error_handler=fail,
                                  timeout=200)
        else:
            appl.ServiceProxy(device.get_interface_name(),
                              device.get_object_path(),
                              'Connect', [],
                              reply_handler=success,
                              error_handler=fail,
                              timeout=200)

        prog.start()