org.freedesktop.dbus
public class DBusConnection extends AbstractConnection
This is a Singleton class, only 1 connection to the SYSTEM or SESSION busses can be made. Repeated calls to getConnection will return the same reference.
Signal Handlers and method calls from remote objects are run in their own threads, you MUST handle the concurrency issues.
Field Summary | |
---|---|
static String | DEFAULT_SYSTEM_BUS_ADDRESS |
static int | SESSION
Session Bus |
static int | SYSTEM
System Bus |
Method Summary | |
---|---|
<T extends DBusSignal> void | addSigHandler(Class<T> type, String source, DBusSigHandler<T> handler)
Add a Signal Handler.
|
<T extends DBusSignal> void | addSigHandler(Class<T> type, String source, DBusInterface object, DBusSigHandler<T> handler)
Add a Signal Handler.
|
protected <T extends DBusSignal> void | addSigHandler(DBusMatchRule rule, DBusSigHandler<T> handler) |
void | disconnect()
Disconnect from the Bus.
|
static DBusConnection | getConnection(String address)
Connect to the BUS. |
static DBusConnection | getConnection(int bustype)
Connect to the BUS. |
String[] | getNames()
Returns all the names owned by this connection. |
<I extends DBusInterface> I | getPeerRemoteObject(String busname, String objectpath, Class<I> type) |
DBusInterface | getPeerRemoteObject(String busname, String objectpath)
Return a reference to a remote object.
|
<I extends DBusInterface> I | getPeerRemoteObject(String busname, String objectpath, Class<I> type, boolean autostart)
Return a reference to a remote object.
|
DBusInterface | getRemoteObject(String busname, String objectpath)
Return a reference to a remote object.
|
<I extends DBusInterface> I | getRemoteObject(String busname, String objectpath, Class<I> type)
Return a reference to a remote object.
|
String | getUniqueName()
Returns the unique name of this connection. |
<T extends DBusSignal> void | removeSigHandler(Class<T> type, String source, DBusSigHandler<T> handler)
Remove a Signal Handler.
|
<T extends DBusSignal> void | removeSigHandler(Class<T> type, String source, DBusInterface object, DBusSigHandler<T> handler)
Remove a Signal Handler.
|
protected <T extends DBusSignal> void | removeSigHandler(DBusMatchRule rule, DBusSigHandler<T> handler) |
void | requestBusName(String busname)
Request a bus name.
|
Parameters: type The signal to watch for. source The process which will send the signal. This MUST be a unique bus name and not a well known name. 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.
Parameters: type The signal to watch for. source The process which will send the signal. This MUST be a unique bus name and not a well known name. 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.
Parameters: address The address of the bus to connect to
Throws: DBusException If there is a problem connecting to the Bus.
Parameters: bustype The Bus to connect to.
Throws: DBusException If there is a problem connecting to the Bus.
Parameters: busname The bus name to connect to. Usually a well known bus name in dot-notation (such as "org.freedesktop.local") or may be a DBus address such as ":1-16". objectpath The path on which the process is exporting the object.$
Returns: A reference to a remote object.
Throws: ClassCastException If type is not a sub-type of DBusInterface DBusException If busname or objectpath are incorrectly formatted.
Parameters: busname The bus name to connect to. Usually a well known bus name in dot-notation (such as "org.freedesktop.local") or may be a DBus address such as ":1-16". objectpath The path on which the process is exporting the object.$ type The interface they are exporting it on. This type must have the same full class name and exposed method signatures as the interface the remote object is exporting. autostart Disable/Enable auto-starting of services in response to calls on this object. Default is enabled; when calling a method with auto-start enabled, if the destination is a well-known name and is not owned the bus will attempt to start a process to take the name. When disabled an error is returned immediately.
Returns: A reference to a remote object.
Throws: ClassCastException If type is not a sub-type of DBusInterface DBusException If busname or objectpath are incorrectly formatted or type is not in a package.
Parameters: busname The bus name to connect to. Usually a well known bus name name in dot-notation (such as "org.freedesktop.local") or may be a DBus address such as ":1-16". objectpath The path on which the process is exporting the object.
Returns: A reference to a remote object.
Throws: ClassCastException If type is not a sub-type of DBusInterface DBusException If busname or objectpath are incorrectly formatted.
Parameters: busname The bus name to connect to. Usually a well known bus name name in dot-notation (such as "org.freedesktop.local") or may be a DBus address such as ":1-16". objectpath The path on which the process is exporting the object. type The interface they are exporting it on. This type must have the same full class name and exposed method signatures as the interface the remote object is exporting.
Returns: A reference to a remote object.
Throws: ClassCastException If type is not a sub-type of DBusInterface DBusException If busname or objectpath are incorrectly formatted or type is not in a package.
Parameters: type The signal to watch for. source The source of the signal.
Throws: DBusException If listening for the signal on the bus failed. ClassCastException If type is not a sub-type of DBusSignal.
Parameters: type The signal to watch for. source The source of the signal. 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.
Parameters: busname The name to respond to. MUST be in dot-notation like "org.freedesktop.local"
Throws: DBusException If the register name failed, or our name already exists on the bus. or if busname is incorrectly formatted.