Class AbstractConnection

java.lang.Object
org.freedesktop.dbus.AbstractConnection
Direct Known Subclasses:
DBusConnection, DirectConnection

public abstract class AbstractConnection extends Object
Handles a connection to DBus.
  • Field Details

  • Constructor Details

  • Method Details

    • listen

      protected void listen()
    • changeThreadCount

      public void changeThreadCount(byte newcount)
      Change the number of worker threads to receive method calls and handle signals. Default is 4 threads
      Parameters:
      newcount - The new number of worker Threads to use.
    • getCallInfo

      public static DBusCallInfo getCallInfo()
      Returns a structure with information on the current method call.
      Returns:
      the DBusCallInfo for this method call, or null if we are not in a method call.
    • setWeakReferences

      public void setWeakReferences(boolean weakreferences)
      If set to true the bus will not hold a strong reference to exported objects. If they go out of scope they will automatically be unexported from the bus. The default is to hold a strong reference, which means objects must be explicitly unexported before they will be garbage collected.
    • exportObject

      public void exportObject(String objectpath, DBusInterface object) throws DBusException
      Export an object so that its methods can be called on DBus.
      Parameters:
      objectpath - The path to the object we are exposing. MUST be in slash-notation, like "/org/freedesktop/Local", and SHOULD end with a capitalised term. Only one object may be exposed on each path at any one time, but an object may be exposed on several paths at once.
      object - The object to export.
      Throws:
      DBusException - If the objectpath is already exporting an object. or if objectpath is incorrectly formatted,
    • addFallback

      public void addFallback(String objectprefix, DBusInterface object) throws DBusException
      Export an object as a fallback object. This object will have it's methods invoked for all paths starting with this object path.
      Parameters:
      objectprefix - The path below which the fallback handles calls. MUST be in slash-notation, like "/org/freedesktop/Local",
      object - The object to export.
      Throws:
      DBusException - If the objectpath is incorrectly formatted,
    • removeFallback

      public void removeFallback(String objectprefix)
      Remove a fallback
      Parameters:
      objectprefix - The prefix to remove the fallback for.
    • unExportObject

      public void unExportObject(String objectpath)
      Stop Exporting an object
      Parameters:
      objectpath - The objectpath to stop exporting.
    • sendSignal

      public void sendSignal(DBusSignal signal)
      Send a signal.
      Parameters:
      signal - The signal to send.
    • removeSigHandler

      public <T extends DBusSignal> void removeSigHandler(Class<T> type, DBusSigHandler<T> handler) throws DBusException
      Remove a Signal Handler. Stops listening for this signal.
      Parameters:
      type - The signal to watch for.
      Throws:
      DBusException - If listening for the signal on the bus failed.
      ClassCastException - If type is not a sub-type of DBusSignal.
    • removeSigHandler

      public <T extends DBusSignal> void removeSigHandler(Class<T> type, DBusInterface object, DBusSigHandler<T> handler) throws DBusException
      Remove a Signal Handler. Stops listening for this signal.
      Parameters:
      type - The signal to watch for.
      object - The object emitting the signal.
      Throws:
      DBusException - If listening for the signal on the bus failed.
      ClassCastException - If type is not a sub-type of DBusSignal.
    • removeSigHandler

      protected abstract <T extends DBusSignal> void removeSigHandler(DBusMatchRule rule, DBusSigHandler<T> handler) throws DBusException
      Throws:
      DBusException
    • addSigHandler

      public <T extends DBusSignal> void addSigHandler(Class<T> type, DBusSigHandler<T> handler) throws DBusException
      Add a Signal Handler. Adds a signal handler to call when a signal is received which matches the specified type and name.
      Parameters:
      type - The signal to watch for.
      handler - The handler to call when a signal is received.
      Throws:
      DBusException - If listening for the signal on the bus failed.
      ClassCastException - If type is not a sub-type of DBusSignal.
    • addSigHandler

      public <T extends DBusSignal> void addSigHandler(Class<T> type, DBusInterface object, DBusSigHandler<T> handler) throws DBusException
      Add a Signal Handler. Adds a signal handler to call when a signal is received which matches the specified type, name and object.
      Parameters:
      type - The signal to watch for.
      object - The object from which the signal will be emitted
      handler - The handler to call when a signal is received.
      Throws:
      DBusException - If listening for the signal on the bus failed.
      ClassCastException - If type is not a sub-type of DBusSignal.
    • addSigHandler

      protected abstract <T extends DBusSignal> void addSigHandler(DBusMatchRule rule, DBusSigHandler<T> handler) throws DBusException
      Throws:
      DBusException
    • addSigHandlerWithoutMatch

      protected <T extends DBusSignal> void addSigHandlerWithoutMatch(Class<? extends DBusSignal> signal, DBusSigHandler<T> handler) throws DBusException
      Throws:
      DBusException
    • disconnect

      public void disconnect()
      Disconnect from the Bus.
    • finalize

      public void finalize()
      Overrides:
      finalize in class Object
    • getError

      public DBusExecutionException getError()
      Return any DBus error which has been received.
      Returns:
      A DBusExecutionException, or null if no error is pending.
    • callWithCallback

      public <A> void callWithCallback(DBusInterface object, String m, CallbackHandler<A> callback, Object... parameters)
      Call a method asynchronously and set a callback. This handler will be called in a separate thread.
      Parameters:
      object - The remote object on which to call the method.
      m - The name of the method on the interface to call.
      callback - The callback handler.
      parameters - The parameters to call the method with.
    • callMethodAsync

      public DBusAsyncReply callMethodAsync(DBusInterface object, String m, Object... parameters)
      Call a method asynchronously and get a handle with which to get the reply.
      Parameters:
      object - The remote object on which to call the method.
      m - The name of the method on the interface to call.
      parameters - The parameters to call the method with.
      Returns:
      A handle to the call.
    • sendMessage

      protected void sendMessage(Message m)
    • getAddress

      public BusAddress getAddress() throws ParseException
      Returns the address this connection is connected to.
      Throws:
      ParseException