summaryrefslogtreecommitdiff
path: root/lib/bluetooth/adapter.vala
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bluetooth/adapter.vala')
-rw-r--r--lib/bluetooth/adapter.vala117
1 files changed, 87 insertions, 30 deletions
diff --git a/lib/bluetooth/adapter.vala b/lib/bluetooth/adapter.vala
index 0c9d00e..99a59fb 100644
--- a/lib/bluetooth/adapter.vala
+++ b/lib/bluetooth/adapter.vala
@@ -1,27 +1,10 @@
-namespace AstalBluetooth {
-[DBus (name = "org.bluez.Adapter1")]
-internal interface IAdapter : DBusProxy {
- public abstract void remove_device(ObjectPath device) throws Error;
- public abstract void start_discovery() throws Error;
- public abstract void stop_discovery() throws Error;
-
- public abstract string[] uuids { owned get; }
- public abstract bool discoverable { get; set; }
- public abstract bool discovering { get; }
- public abstract bool pairable { get; set; }
- public abstract bool powered { get; set; }
- public abstract string address { owned get; }
- public abstract string alias { owned get; set; }
- public abstract string modalias { owned get; }
- public abstract string name { owned get; }
- public abstract uint class { get; }
- public abstract uint discoverable_timeout { get; set; }
- public abstract uint pairable_timeout { get; set; }
-}
-
-public class Adapter : Object {
+/**
+ * Object representing an [[https://github.com/RadiusNetworks/bluez/blob/master/doc/adapter-api.txt|adapter]].
+ */
+public class AstalBluetooth.Adapter : Object {
private IAdapter proxy;
- public string object_path { owned get; construct set; }
+
+ internal string object_path { owned get; private set; }
internal Adapter(IAdapter proxy) {
this.proxy = proxy;
@@ -37,53 +20,127 @@ public class Adapter : Object {
});
}
+ /**
+ * List of 128-bit UUIDs that represents the available local services.
+ */
public string[] uuids { owned get { return proxy.uuids; } }
+
+ /**
+ * Indicates that a device discovery procedure is active.
+ */
public bool discovering { get { return proxy.discovering; } }
+
+ /**
+ * Local Device ID information in modalias format used by the kernel and udev.
+ */
public string modalias { owned get { return proxy.modalias; } }
+
+ /**
+ * The Bluetooth system name (pretty hostname).
+ */
public string name { owned get { return proxy.name; } }
+
+ /**
+ * The Bluetooth class of device.
+ */
public uint class { get { return proxy.class; } }
+
+ /**
+ * The Bluetooth device address.
+ */
public string address { owned get { return proxy.address; } }
+
+ /**
+ * Switch an adapter to discoverable or non-discoverable
+ * to either make it visible or hide it.
+ */
public bool discoverable {
get { return proxy.discoverable; }
set { proxy.discoverable = value; }
}
+
+ /**
+ * Switch an adapter to pairable or non-pairable.
+ */
public bool pairable {
get { return proxy.pairable; }
set { proxy.pairable = value; }
}
+
+ /**
+ * Switch an adapter on or off.
+ */
public bool powered {
get { return proxy.powered; }
set { proxy.powered = value; }
}
+
+ /**
+ * The Bluetooth friendly name.
+ *
+ * In case no alias is set, it will return [[email protected]:name].
+ */
public string alias {
owned get { return proxy.alias; }
set { proxy.alias = value; }
}
+
+ /**
+ * The discoverable timeout in seconds.
+ * A value of zero means that the timeout is disabled
+ * and it will stay in discoverable/limited mode forever
+ * until [[email protected]_discovery] is invoked.
+ * The default value for the discoverable timeout should be `180`.
+ */
public uint discoverable_timeout {
get { return proxy.discoverable_timeout; }
set { proxy.discoverable_timeout = value; }
}
+
+ /**
+ * The pairable timeout in seconds.
+ *
+ * A value of zero means that the timeout is disabled and it will stay in pairable mode forever.
+ * The default value for pairable timeout should be disabled `0`.
+ */
public uint pairable_timeout {
get { return proxy.pairable_timeout; }
set { proxy.pairable_timeout = value; }
}
- public void remove_device(Device device) {
- try { proxy.remove_device((ObjectPath)device.object_path); } catch (Error err) { critical(err.message); }
+
+ /**
+ * This removes the remote device and the pairing information.
+ *
+ * Possible errors: `InvalidArguments`, `Failed`.
+ */
+ public void remove_device(Device device) throws Error {
+ proxy.remove_device(device.object_path);
}
- public void start_discovery() {
- try { proxy.start_discovery(); } catch (Error err) { critical(err.message); }
+
+ /**
+ * This method starts the device discovery procedure.
+ *
+ * Possible errors: `NotReady`, `Failed`.
+ */
+ public void start_discovery() throws Error {
+ proxy.start_discovery();
}
- public void stop_discovery() {
- try { proxy.stop_discovery(); } catch (Error err) { critical(err.message); }
+
+ /**
+ * This method will cancel any previous [[email protected]_discovery] procedure.
+ *
+ * Possible errors: `NotReady`, `Failed`, `NotAuthorized`.
+ */
+ public void stop_discovery() throws Error {
+ proxy.stop_discovery();
}
}
-}