def __init__(self, name = "LBRC", serverid = "a1e7"): """ @param serverid: ID associated to the service we announce @type serverid: string (hexadecimal) @param name: The name used to announce the service via bluetooth @type name: string @rtype: BTServer object @return: BTServer object """ gobject.GObject.__init__(self) self.name = name self.serverid = serverid self.connectable = 'yes' self.filter = {} self.port = bluetooth.get_available_port( bluetooth.RFCOMM ) self.connected = None self.bluetooth_connection = None self.bluetooth_keycode = None self.config = config() self.paired_by_us = {} self.client_sock = None self.server_sock = None self.server_io_watch = None self.server_sock = bluetooth.BluetoothSocket( bluetooth.RFCOMM ) self.server_sock.bind(("", self.port)) self.server_sock.listen(1) self._register_bluez_signals() self._switch_connectable()
def __init__(self): self.paths = path() bus_name = dbus.service.BusName("custom.LBRC", bus=dbus.SessionBus()) dbus.service.Object.__init__(self, bus_name, "/custom/LBRC") self.btserver = BTServer() self.config = config() self.event_listener = [] for i in (UinputDispatcher, CommandExecutor, DBUSCaller, ProfileSwitcher, MPlayer): self._register_listener(i) # load of config data self.cur_profile = None self.reload_config() self.btserver.connect("keycode", self.handler) self.btserver.connect( "connect", lambda btserver, btadress, port: self.connect_cb(bluetooth.lookup_name(btadress), btadress, port) ) self.btserver.connect( "disconnect", lambda btserver, btadress, port: self.disconnect_cb(bluetooth.lookup_name(btadress), btadress, port), ) # load the default profile self._load_default_profile()
def __init__(self, lbrc, **kwds): self.lbrc = lbrc self._config = {} self.config = config() self.paths = path() try: proxy_obj = dbus.SessionBus().get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications') self.notify_interface = dbus.Interface(proxy_obj, 'org.freedesktop.Notifications') self.notify_interface.GetServerInformation() except: self.notify_interface = None try: self.bluecontrol = BlueZControl() except: self.bluecontrol = None self._config['icon_size'] = 24 self.icon = gtk.gdk.pixbuf_new_from_file(self.paths.get_datafile('LBRC.svg')) self.trayicon = egg.trayicon.TrayIcon("LBRC") image = gtk.Image() image.set_from_pixbuf(self.icon.scale_simple(self._config['icon_size'],self._config['icon_size'], gtk.gdk.INTERP_BILINEAR)) self._create_menu() eventbox = gtk.EventBox() self.trayicon.add(eventbox) eventbox.add(image) eventbox.add_events(gtk.gdk.BUTTON_PRESS) eventbox.connect('button-press-event', self.popup_menu) self.lbrc.connect_to_signal("shutdown", lambda: gtk.main_quit()) self.lbrc.connect_to_signal("connect_cb", self.connect_cb) self.lbrc.connect_to_signal("disconnect_cb", self.disconnect_cb) self.lbrc.connect_to_signal("profile_change", self.profile_change_cb) self.pid_menu_map[self.lbrc.get_profile()].set_active(1) self.trayicon.show_all() self.config_close_handler = None
def __init__(self): self.bluez_manager = dinterface(dbus.SystemBus(), "org.bluez", "/org/bluez", "org.bluez.Manager") self.bluez_manager.InterfaceVersion() self.config = config() self.adapter = {} self.menu = {} self.bluez_manager.connect_to_signal("AdapterAdded", self._bluez_adapter_added) self.bluez_manager.connect_to_signal("AdapterRemoved", self._bluez_adapter_removed) self.menu["bz_visible"] = {"title": _("Bluetooth visible"), "callback": (self._bluez_switch_visible, 0)} self.menu["bz_shorttime"] = { "title": _("Bluetooth visible (automatic hiding)"), "callback": (self._bluez_switch_visible, 180), } self.menu["bz_invisible"] = {"title": _("Bluetooth invisible"), "callback": (self._bluez_switch_visible, -1)} for menu in self.menu.values(): menuitem = gtk.CheckMenuItem(menu["title"]) menuitem.set_draw_as_radio(1) menuitem.set_sensitive(0) menu["handler"] = menuitem.connect("toggled", *menu["callback"]) menu["menuitem"] = menuitem self.menu_list = [i["menuitem"] for i in self.menu.values()] menuitem = gtk.SeparatorMenuItem() self.menu_list.append(menuitem) self.set_menus_visible(self.config.get_config_item_fb("show-bluetooth", True)) self._bluez_init_adapter()
def __init__(self, **kwds): self.logger = logging.getLogger('LBRC') self.shutdown_commands = [] bus_name = dbus.service.BusName(DBUSNAME, bus=dbus.SessionBus()) dbus.service.Object.__init__(self, bus_name, "/core") self.loghandler = DBUSLogHandler(bus_name, "/log") logging.getLogger().addHandler(self.loghandler) if 'debug' in kwds: self.loghandler.setLevel(kwds['debug']) self.paths = path() self.btserver = BTServer() self.config = config() self.profile_control = ProfileControl(self.config) self.dbus_profile_control = DBUSProfileControl(bus_name, "/profile", self.profile_control) self.connection_control = ConnectionControl(bus_name, "/connection", self.btserver) self.event_listener = [] for i in (UinputDispatcher, CommandExecutor, DBUSCaller, ProfileSwitcher, MPlayer, PresentationCompanion, VolumeControl, XInput): self._register_listener(i) self.logger.debug("Register done") self.profile_control.connect("profile_changed", self._profile_change_cb) self.logger.debug("Initial Profile set") self.btserver.connect('keycode', self._dispatch) self.logger.debug("Init dispatcher") self.btserver.connect("connect", self._connection_established_cb) self.btserver.connect("disconnect", self._connection_closed_cb) #load of config data self.reload_config() self.logger.debug("Reload config")
def __init__(self, name = "LBRC", serverid = "9c6c8dce-9545-11dc-a3c1-0011d8388a56"): """ @param serverid: ID associated to the service we announce @type serverid: string (hexadecimal) @param name: The name used to announce the service via bluetooth @type name: string @rtype: BTServer object @return: BTServer object """ gobject.GObject.__init__(self) self.logger = logging.getLogger('LBRC.BTServer') self.name = name self.serverid = serverid self.connectable = 'yes' self.filter = {} self.connected = None self.bluetooth_connection = None self.bluetooth_keycode = None self.config = config() self.paired_by_us = {} self.client_sock = None self.server_sock = None self.server_io_watch = None self.server_sock = bluetooth.BluetoothSocket( bluetooth.RFCOMM ) self.server_sock.bind(("", bluetooth.PORT_ANY)) (addr, self.port) = self.server_sock.getsockname(); self.server_sock.listen(1) self.bluez_db = dinterface(dbus.SystemBus(), 'org.bluez', '/org/bluez', 'org.bluez.Database') self.advertise_id = None self._register_bluez_signals() self._switch_connectable()
def _load_config(self): """Loads the config file""" self.config = config() self.user_profiles = self.config.user['profiles'] self.system_profiles = self.config.system['profiles']