All pastes #254063 Raw Edit

objectpath_param

public text v1 · immutable
#254063 ·published 2006-11-21 13:02 UTC
rendered paste body
#############################
Guessed Interface description (works fine for StateChange):
#############################

<node>
	<interface name="org.freedesktop.NetworkManager">

		<signal name="DeviceCarrierOn">
		      <arg type="o"/>
    		</signal>

		<signal name="StateChange">
		      <arg type="u"/>
    		</signal>

	</interface>
</node>

#############################
Java generated from the above
#############################

package org.freedesktop;

import org.freedesktop.dbus.DBusException;
import org.freedesktop.dbus.DBusInterface;
import org.freedesktop.dbus.DBusSignal;
import org.freedesktop.dbus.UInt32;

public interface NetworkManager extends DBusInterface
{
	
   public static class DeviceCarrierOn extends DBusSignal
   {
      public final DBusInterface a;
      public DeviceCarrierOn(String path, DBusInterface a) throws DBusException
      {
         super(path, a);
         this.a = a;
      }
   }

   public static class StateChange extends DBusSignal
   {
      public final UInt32 a;
      public StateChange(String path, UInt32 a) throws DBusException
      {
         super(path, a);
         this.a = a;
      }
   }
}

##################
My Generic Handler
##################

public class NetManSigHandler implements DBusSigHandler {
	public void handle(DBusSignal signal) {
            System.out.println( signal.toString() );
        }
}

##################
registered in Main
##################

... // after getting system bus
conn.addSigHandler( NetworkManager.StateChange.class,     new NetManSigHandler());
conn.addSigHandler( NetworkManager.DeviceCarrierOn.class, new NetManSigHandler());


#####################
Output on StateChange
#####################
=> SIG: :1.30/path[org.freedesktop.NetworkManager.StateChange](u) {2}
org.freedesktop.NetworkManager$StateChange(:1.30,org.freedesktop.NetworkManager,StateChange,2,0)(44,)


##########################
Output on DeviceCarrierOff
##########################
=> SIG: :1.31/path[org.freedesktop.NetworkManager.DeviceCarrierOff](o) {2}
<= ERROR: (=> :1.31) org.freedesktop.dbus.DBusExecutionException {15,2}
<= CALL: :1.31/test/4[org.freedesktop.DBus.Introspectable.Introspect]() {16}
=> ERROR: (org.freedesktop.DBus => :1.29) org.freedesktop.DBus.Error.ServiceUnknown {15,15}
=> ERROR: (org.freedesktop.DBus => :1.29) org.freedesktop.DBus.Error.ServiceUnknown {16,16}