summaryrefslogtreecommitdiffstats
path: root/java/tinyb/dbus/DBusAdapter.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2020-04-20 07:21:35 +0200
committerSven Gothel <[email protected]>2020-04-20 07:21:35 +0200
commit6fdcdb13db5e13f11c44f0f9bba088252d9ffa18 (patch)
tree8c9c321dd2064eb53438544f0faba91306629c8c /java/tinyb/dbus/DBusAdapter.java
parent6505f49b63db200d817817d1d01a14005a3d732c (diff)
Initial working Java binding for the direct_bt C++ module
Example ScannerTinyB01 demonstrates efficient scanning devices using the new BluetoothDeviceDiscoveryListener interface. The C++ HCIObject extends JavaUplink, which handles the java object references via 'std::shared_ptr<JavaAnonObj>', where JavaAnonObj relies on later polymorph specialization. JavaAnonObj gets derived in the java/jni of direct_bt, where the JNI header + libraries are available. +++ The java inplementing NativeDownlink implementations store the nativeInstance to the C++ instances as well as handle their java references within the native instances. The C++ JavaUplink and Java NativeDownlink interfaces are complete the cross referencing java <-> native. +++ Native libraries are now split into pairs: - tinyb + javatinyb - direct_bt + javadirect_bt TODO: BluetoothFactory must chose the proper bundle! +++ The Java Adapter received a BluetoothDeviceDiscoveryListener hook, matching C++ Adapter's HCIDeviceDiscoveryListener. Since the Java Adapter implements its own discovery thread, using the BluetoothDeviceDiscoveryListener is more efficient then polling over a list of Devices fetched. ++++ TODO: Align Java and C++ class names, foremost in the C++ direct_bt space. TODO: Bind the whole C++ GATT functionality More testing.
Diffstat (limited to 'java/tinyb/dbus/DBusAdapter.java')
-rw-r--r--java/tinyb/dbus/DBusAdapter.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/java/tinyb/dbus/DBusAdapter.java b/java/tinyb/dbus/DBusAdapter.java
index 695677fe..973d3e8d 100644
--- a/java/tinyb/dbus/DBusAdapter.java
+++ b/java/tinyb/dbus/DBusAdapter.java
@@ -35,6 +35,7 @@ import java.util.UUID;
import org.tinyb.BluetoothAdapter;
import org.tinyb.BluetoothDevice;
+import org.tinyb.BluetoothDeviceDiscoveryListener;
import org.tinyb.BluetoothException;
import org.tinyb.BluetoothManager;
import org.tinyb.BluetoothNotification;
@@ -148,6 +149,11 @@ public class DBusAdapter extends DBusObject implements BluetoothAdapter
public native boolean getDiscovering();
@Override
+ public void setDeviceDiscoveryListener(final BluetoothDeviceDiscoveryListener l) {
+ throw new UnsupportedOperationException(); // FIXME
+ }
+
+ @Override
public native void enableDiscoveringNotifications(BluetoothNotification<Boolean> callback);
@Override