Top Description Fields Constructors Methods
org.freedesktop.dbus.propertyref

public final Class PropRefRemoteHandler

extends Object
Class Inheritance
Imports
org.freedesktop.dbus.*, org.freedesktop.dbus.annotations.DBusBoundProperty, .DBusProperty.Access, org.freedesktop.dbus.connections.AbstractConnection, org.freedesktop.dbus.exceptions.DBusException, .DBusExecutionException, org.freedesktop.dbus.interfaces.Properties, org.freedesktop.dbus.types.Variant, org.freedesktop.dbus.utils.DBusNamingUtil, .Util, java.lang.reflect.Constructor, .Method, .Type, java.util.Optional

Contains DBusBoundProperty code used for remote method invokation.
Author
hypfvieh
Since
5.0.0 - 2023-10-20

Field Summary

Modifier and TypeField and Description
private static final Method
private static final Method

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static Method
getPropertiesMethod(String _method, Class<?>... _signature)

public static Object

Returns:

remote invocation result
handleDBusBoundProperty
(AbstractConnection
connection
_conn
,
RemoteObject
remote object
_remote
,
Method
annotated method which was called
_method
,
Object[]
arguments used if this was a call to a setter
_args
)

Handles the DBusBoundProperty annotation.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

PROP_GET_METHODback to summary
private static final Method PROP_GET_METHOD
PROP_SET_METHODback to summary
private static final Method PROP_SET_METHOD

Constructor Detail

PropRefRemoteHandlerback to summary
private PropRefRemoteHandler()

Method Detail

getPropertiesMethodback to summary
public static Method getPropertiesMethod(String _method, Class<?>... _signature)
handleDBusBoundPropertyback to summary
public static Object handleDBusBoundProperty(AbstractConnection _conn, RemoteObject _remote, Method _method, Object[] _args) throws DBusException

Handles the DBusBoundProperty annotation.

The special handling is needed because when this annotation is used the
object uses the DBus Properties interface without explicitly implementing it.

In that case we have to fake the presents of this interface and also take care about
the types which have to be wrapped in Variant
(due to DBus Properties specify that every property value is a Variant).

Parameters
_conn:AbstractConnection

connection

_remote:RemoteObject

remote object

_method:Method

annotated method which was called

_args:Object[]

arguments used if this was a call to a setter

Returns:Object

remote invocation result

Exceptions
DBusException:
when DBus call fails