summaryrefslogtreecommitdiffstats
path: root/hcid
diff options
context:
space:
mode:
Diffstat (limited to 'hcid')
-rw-r--r--hcid/Bluetooth.cs159
1 files changed, 0 insertions, 159 deletions
diff --git a/hcid/Bluetooth.cs b/hcid/Bluetooth.cs
deleted file mode 100644
index b7bec4e5..00000000
--- a/hcid/Bluetooth.cs
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- *
- * BlueZ - Bluetooth protocol stack for Linux
- *
- * Copyright (C) 2005-2007 Marcel Holtmann <marcel@holtmann.org>
- *
- *
- * 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 2 of the License, or
- * (at your option) any later version.
- *
- * 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-namespace Bluetooth
-{
- using System;
- using DBus;
-
- [Interface("org.bluez.Manager")]
- internal abstract class ManagerProxy
- {
- [Method] public abstract string DefaultAdapter();
- [Method] public abstract string FindAdapter(string pattern);
- }
-
- public delegate void RemoteDeviceFoundHandler(string address, Int class, Int16 rssi);
- public delegate void RemoteNameUpdatedHandler(string address, string name);
-
- [Interface("org.bluez.Adapter")]
- internal abstract class AdapterProxy
- {
- [Method] public abstract string GetAddress();
- [Method] public abstract string GetVersion();
- [Method] public abstract string GetRevision();
- [Method] public abstract string GetManufacturer();
- [Method] public abstract string GetCompany();
-
- [Method] public abstract void SetDiscoverableTimeout(int timeout);
- [Method] public abstract void SetMode(string mode);
-
- [Method] public abstract string GetName();
- [Method] public abstract void SetName(string name);
- [Method] public abstract string GetRemoteAlias(string address);
- [Method] public abstract void SetRemoteAlias(string address, string alias);
-
- [Method] public abstract string[] ListBondings();
- [Method] public abstract bool HasBonding(string address);
-
-#pragma warning disable 0067
- [Signal] public virtual event RemoteDeviceFoundHandler RemoteDeviceFound;
- [Signal] public virtual event RemoteNameUpdatedHandler RemoteNameUpdated;
-#pragma warning restore 0067
- }
-
- public class Adapter : IDisposable
- {
- private Service service;
- private Connection connection;
- private ManagerProxy manager;
- private AdapterProxy adapter;
- private string path;
-
-#pragma warning disable 0067
- public event RemoteDeviceFoundHandler RemoteDeviceFound;
- public event RemoteNameUpdatedHandler RemoteNameUpdated;
-#pragma warning restore 0067
-
- public Adapter() : this("")
- {
- }
-
- public Adapter(string pattern)
- {
- connection = Bus.GetSystemBus();
- service = Service.Get(connection, "org.bluez");
-
- manager = (ManagerProxy) service.GetObject(typeof(ManagerProxy), "/org/bluez");
-
- if (pattern == "")
- path = manager.DefaultAdapter();
- else
- path = manager.FindAdapter(pattern);
-
- adapter = (AdapterProxy) service.GetObject(typeof(AdapterProxy), path);
-
- service.SignalCalled += OnSignalCalled;
-
- adapter.RemoteDeviceFound += OnRemoteDeviceFound;
- adapter.RemoteNameUpdated += OnRemoteNameUpdated;
- }
-
- public void Dispose()
- {
- GC.SuppressFinalize(adapter);
- GC.SuppressFinalize(manager);
- }
-
- private void OnSignalCalled(Signal signal)
- {
- if (signal.InterfaceName != "org.bluez.Adapter")
- return;
-
- if (signal.PathName != path)
- return;
- }
-
- private void OnRemoteDeviceFound(string address, Int16 rssi,
- string major, string minor, string[] services)
- {
- if (RemoteDeviceFound != null)
- RemoteDeviceFound(address, rssi, major, minor, services);
- }
-
- private void OnRemoteNameUpdated(string address, string name)
- {
- if (RemoteNameUpdated != null)
- RemoteNameUpdated(address, name);
- }
-
- public string Address {
- get { return adapter.GetAddress(); }
- }
-
- public string Version {
- get { return adapter.GetVersion(); }
- }
-
- public string Revision {
- get { return adapter.GetRevision(); }
- }
-
- public string Manufacturer {
- get { return adapter.GetManufacturer(); }
- }
-
- public string Company {
- get { return adapter.GetCompany(); }
- }
-
- public string Name {
- get { return adapter.GetName(); }
- set { adapter.SetName(value); }
- }
-
- public override string ToString() {
- return Address;
- }
- }
-}