From c9759cfd8c6b7803277bd5feb657a79fe8ddc66e Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Tue, 4 Dec 2012 15:24:49 +1300 Subject: Use GnomeBluetooth instead of bluez directly --- src/bluez.vala | 180 --------------------------------------------------------- 1 file changed, 180 deletions(-) delete mode 100644 src/bluez.vala (limited to 'src/bluez.vala') diff --git a/src/bluez.vala b/src/bluez.vala deleted file mode 100644 index c20acc7..0000000 --- a/src/bluez.vala +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (C) 2012 Canonical Ltd. - * Author: Robert Ancell - * - * 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, either version 3 of the License, or (at your option) any later - * version. See http://www.gnu.org/copyleft/gpl.html the full text of the - * license. - */ - -public class BluezManager : Object -{ - public BluezAdapter default_adapter; - - public BluezManager () - { - } - - public void start () throws IOError - { - proxy = Bus.get_proxy_sync (BusType.SYSTEM, "org.bluez", "/"); - proxy.default_adapter_changed.connect (default_adapter_changed_cb); - default_adapter_changed_cb (proxy.default_adapter ()); - } - - private BluezManagerInterface proxy; - - private void default_adapter_changed_cb (string path) - { - default_adapter = new BluezAdapter (path); - } -} - -public class BluezAdapter : Object -{ - public List get_devices () - { - var devices = new List (); - foreach (var device in _devices) - devices.append (device); - return devices; - } - - private bool _discoverable = false; - public bool discoverable - { - get { return _discoverable; } - set - { - _discoverable = value; - proxy.set_property ("Discoverable", new Variant.boolean (value)); - } - } - - internal string path; - private List _devices; - private BluezAdapterInterface proxy; - - internal BluezAdapter (string path) - { - this.path = path; - _devices = new List (); - proxy = Bus.get_proxy_sync (BusType.SYSTEM, "org.bluez", path); - - proxy.property_changed.connect (property_changed_cb); - var properties = proxy.get_properties (); - var iter = HashTableIter (properties); - string name; - Variant value; - while (iter.next (out name, out value)) - property_changed_cb (name, value); - - proxy.device_created.connect (device_created_cb); - foreach (var device_path in proxy.list_devices ()) - device_created_cb (device_path); - } - - private void property_changed_cb (string name, Variant value) - { - stderr.printf ("%s %s=%s\n", path, name, value.print (false)); - if (name == "Discoverable" && value.is_of_type (VariantType.BOOLEAN)) - { - _discoverable = value.get_boolean (); - notify_property ("discoverable"); - } - } - - private void device_created_cb (string path) - { - foreach (var device in _devices) - if (device.path == path) - return; - - var device = new BluezDevice (path); - _devices.append (device); - } -} - -public class BluezDevice : Object -{ - private string _name = null; - public string name { get { return _name; } } - - private uint32 _class = 0; - public uint32 class { get { return _class; } } - - internal string path; - private BluezDeviceInterface proxy; - - internal BluezDevice (string path) - { - this.path = path; - proxy = Bus.get_proxy_sync (BusType.SYSTEM, "org.bluez", path); - - proxy.property_changed.connect (property_changed_cb); - var properties = proxy.get_properties (); - var iter = HashTableIter (properties); - string name; - Variant value; - while (iter.next (out name, out value)) - property_changed_cb (name, value); - - //var input_device = Bus.get_proxy_sync (BusType.SYSTEM, "org.bluez", path); - //input_device.property_changed.connect (input_property_changed_cb); - } - - private void property_changed_cb (string name, Variant value) - { - stderr.printf ("%s %s=%s\n", path, name, value.print (false)); - if (name == "Name" && value.is_of_type (VariantType.STRING)) - _name = value.get_string (); - if (name == "Class" && value.is_of_type (VariantType.UINT32)) - _class = value.get_uint32 (); - } - - private void input_property_changed_cb (string name, Variant value) - { - stderr.printf ("%s i %s=%s\n", path, name, value.print (false)); - } -} - -[DBus (name = "org.bluez.Manager")] -private interface BluezManagerInterface : Object -{ - public abstract string default_adapter () throws IOError; - public signal void default_adapter_changed (string path); -} - -[DBus (name = "org.bluez.Adapter")] -private interface BluezAdapterInterface : Object -{ - public abstract string[] list_devices () throws IOError; - public abstract HashTable get_properties () throws IOError; - public abstract void set_property (string name, Variant value) throws IOError; - public signal void property_changed (string name, Variant value); - public signal void device_created (string path); -} - -[DBus (name = "org.bluez.Device")] -private interface BluezDeviceInterface : Object -{ - public abstract HashTable get_properties () throws IOError; - public signal void property_changed (string name, Variant value); -} - -[DBus (name = "org.bluez.Audio")] -private interface BluezAudioInterface : Object -{ - public abstract void connect () throws IOError; -} - -[DBus (name = "org.bluez.Input")] -private interface BluezInputInterface : Object -{ - public abstract void connect () throws IOError; - public abstract void disconnect () throws IOError; - public abstract HashTable get_properties () throws IOError; - public signal void property_changed (string name, Variant value); -} -- cgit v1.2.3