|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
dbus java bindingsGood day,
I'm having some issues trying to add signal handlers to access the bluez bus. My code executes and seems OK but I my signal handler is never notified although d-feet indicates changes. In this example, I'm trying to get notified of a PropertyChanged event from the org.bluez.Adapter.PropertyChanged signal. Here's the proof of concept class: import org.freedesktop.dbus.DBusConnection; import org.freedesktop.dbus.Path; import org.freedesktop.dbus.Variant; import org.freedesktop.dbus.DBusSigHandler; import org.freedesktop.dbus.exceptions.DBusException; import org.bluez.Manager; import org.bluez.Adapter; public class DBusConn { public DBusConn() { DBusConnection connection = null; try { connection = DBusConnection.getConnection(DBusConnection.SYSTEM); final Manager manager = connection.getRemoteObject("org.bluez", "/", Manager.class); final Path defaultAdapterPath = manager.DefaultAdapter(); final Adapter adapter = connection.getRemoteObject("org.bluez", defaultAdapterPath.getPath(), Adapter.class); final DBusSigHandler<org.bluez.Adapter.PropertyChanged> propertyChangedDBusSigHandler = new DBusSigHandler<org.bluez.Adapter.PropertyChanged>() { public void handle(final org.bluez.Adapter.PropertyChanged propertyChanged) { System.out.println("Signal received from Adapter.PropertyChanged handler"); } }; connection.addSigHandler(org.bluez.Adapter.PropertyChanged.class, propertyChangedDBusSigHandler); System.out.println("Waiting for signal..."); adapter.SetProperty("Discoverable", new Variant(true)); adapter.SetProperty("Discoverable", new Variant(false)); new Variant(true))); } catch (final DBusException e) { e.printStackTrace(); } finally { // connection.disconnect(); } } public static void main(final String[] args) { new DBusConn(); } } Here's the Adapter interface: package org.bluez; import org.freedesktop.dbus.DBusInterface; import org.freedesktop.dbus.Variant; import org.freedesktop.dbus.DBusSignal; import org.freedesktop.dbus.exceptions.DBusException; /** * */ public interface Adapter extends DBusInterface { void SetProperty(String name, Variant value); public class PropertyChanged extends DBusSignal { String _s; Variant _v; public PropertyChanged(final String s, final Variant v) throws DBusException { super(s, v); _s = s; _v = v; } } } I'm using bluez-4.56, dbus-1.2.16, jdk-1.6.0_16 and dbus-java-2.6. Can someone provide some help please? I don't think this problem is related to bluez's dbus implementation. In my opinion my problem is cause by a wrong utilisation of dbus... TIA, Phil _______________________________________________ dbus mailing list dbus@... http://lists.freedesktop.org/mailman/listinfo/dbus |
| Free embeddable forum powered by Nabble | Forum Help |