All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.freedesktop.dbus.interfaces.Monitoring Maven / Gradle / Ivy

package org.freedesktop.dbus.interfaces;

import org.freedesktop.dbus.annotations.DBusInterfaceName;
import org.freedesktop.dbus.types.UInt32;

@DBusInterfaceName("org.freedesktop.DBus.Monitoring.BecomeMonitor")
public interface Monitoring {
    /**
     * Converts the connection into a monitor connection which can be used as a
     * debugging/monitoring tool. Only a user who is privileged on this bus (by some implementation-specific definition)
     * may create monitor
     * connections[5].
     * 

* Monitor connections lose all their bus names, including the unique connection name, and all their match rules. * Sending messages on a monitor connection is not allowed: applications should use a private connection for * monitoring. *

*

* Monitor connections may receive all messages, even messages that should only have gone to some other connection * ("eavesdropping"). The first argument is a list of match rules, which replace any match rules that were * previously active for this connection. These match rules are always treated as if they contained the special * eavesdrop='true' member. *

*

* As a special case, an empty list of match rules (which would otherwise match nothing, making the monitor useless) * is treated as a shorthand for matching all messages. *

*

* The second argument might be used for flags to influence the behaviour of the monitor connection in future D-Bus * versions. *

*

* Message bus implementations should attempt to minimize the side-effects of monitoring — in particular, unlike * ordinary eavesdropping, monitoring the system bus does not require the access control rules to be relaxed, which * would change the set of messages that can be delivered to their (non-monitor) destinations. However, it is * unavoidable that monitoring will increase the message bus's resource consumption. In edge cases where there was * barely enough time or memory without monitoring, this might result in message deliveries failing when they would * otherwise have succeeded. *

* * @param rule Match rules to add to the connection * @param flags Not used, must be 0 */ void BecomeMonitor(String[] rule, UInt32 flags); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy