From cf894302767d5ec483b5f8002bb796a284895bbf Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 1 Aug 2013 18:21:05 -0500 Subject: add a bluetooth backend to track bluetooth being enabled, being hard/soft blocked, and its devices. --- src/bluetooth.vala | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/bluetooth.vala (limited to 'src/bluetooth.vala') diff --git a/src/bluetooth.vala b/src/bluetooth.vala new file mode 100644 index 0000000..ad5ee09 --- /dev/null +++ b/src/bluetooth.vala @@ -0,0 +1,53 @@ +/* + * Copyright 2013 Canonical Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Authors: + * Charles Kerr + */ + +public class Bluetooth: Object +{ + /*** + **** Properties + ***/ + + public bool discoverable { get; protected set; default = false; } + public virtual void try_set_discoverable (bool b) {} + + public bool powered { get; protected set; default = false; } + + public bool blocked { get; protected set; default = true; } + public virtual void try_set_blocked (bool b) { + kill_switch.try_set_blocked (b); + } + + /*** + **** Killswitch Implementation + ***/ + + protected KillSwitch kill_switch; + + public Bluetooth (KillSwitch kill_switch) + { + this.kill_switch = kill_switch; + + message ("changing blocked to %d", (int)!this.kill_switch.blocked); + blocked = this.kill_switch.blocked; + kill_switch.notify["blocked"].connect (() => { + message ("bluetooth changing blocked to %d", (int)kill_switch.blocked); + this.blocked = kill_switch.blocked; + }); + } +} -- cgit v1.2.3