NetworkManager/introspection/nm-manager.xml
Beniamino Galvani 8b9ea0b7c6 checkpoint: consider all devices when an empty list is passed
First, consider all devices and not only realized and managed ones
when an empty list is passed. Also, move the list evaluation to the
checkpoint manager, since the check for device conflicts is done
there.

Fixes: 3e09aed2a0
2016-09-26 15:10:39 +02:00

466 lines
19 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<node name="/org/freedesktop/NetworkManager">
<interface name="org.freedesktop.NetworkManager">
<annotation name="org.gtk.GDBus.C.Name" value="Manager"/>
<!--
Reload:
@flags: optional flags to specify which parts shall be reloaded.
Reload NetworkManager's configuration and perform certain updates, like flushing a cache or
rewriting external state to disk. This is similar to sending SIGHUP to NetworkManager but it
allows for more fine-grained control over what to reload (see @flags). It also allows
non-root access via PolicyKit and contrary to signals it is synchronous.
No flags (0x00) means to reload everything that is supported which is identical to
sending a SIGHUP.
(0x01) means to reload the NetworkManager.conf configuration from disk. Note that this
does not include connections, which can be reloaded via Setting's ReloadConnections.
(0x02) means to update DNS configuration, which usually involves writing /etc/resolv.conf
anew.
(0x04) means to restart the DNS plugin. This is for example useful when using
dnsmasq plugin, which uses additional configuration in /etc/NetworkManager/dnsmasq.d.
If you edit those files, you can restart the DNS plugin. This action shortly interrupts
name resolution.
Note that flags may affect each other. For example, restarting the DNS plugin (0x04)
implicitly updates DNS too (0x02). Or when reloading the configuration (0x01), changes
to DNS setting also cause a DNS update (0x02). However, (0x01) does not involve restarting
the DNS plugin (0x04) or update resolv.conf (0x02), unless the DNS related configuration
changes in NetworkManager.conf.
-->
<method name="Reload">
<arg name="flags" type="u" direction="in"/>
</method>
<!--
GetDevices:
@devices: List of object paths of network devices known to the system. This list does not include device placeholders (see GetAllDevices()).
Get the list of realized network devices.
-->
<method name="GetDevices">
<arg name="devices" type="ao" direction="out"/>
</method>
<!--
GetAllDevices:
@devices: List of object paths of network devices and device placeholders (eg, devices that do not yet exist but which can be automatically created by NetworkManager if one of their AvailableConnections was activated).
Get the list of all network devices.
-->
<method name="GetAllDevices">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_all_devices"/>
<arg name="devices" type="ao" direction="out"/>
</method>
<!--
GetDeviceByIpIface:
@iface: Interface name of the device to find.
@device: Object path of the network device.
Return the object path of the network device referenced by its IP
interface name. Note that some devices (usually modems) only have an IP
interface name when they are connected.
-->
<method name="GetDeviceByIpIface">
<arg name="iface" type="s" direction="in"/>
<arg name="device" type="o" direction="out"/>
</method>
<!--
ActivateConnection:
@connection: The connection to activate. If "/" is given, a valid device path must be given, and NetworkManager picks the best connection to activate for the given device. VPN connections must always pass a valid connection path.
@device: The object path of device to be activated for physical connections. This parameter is ignored for VPN connections, because the specific_object (if provided) specifies the device to use.
@specific_object: The path of a connection-type-specific object this activation should use. This parameter is currently ignored for wired and mobile broadband connections, and the value of "/" should be used (ie, no specific object). For WiFi connections, pass the object path of a specific AP from the card's scan list, or "/" to pick an AP automatically. For VPN connections, pass the object path of an ActiveConnection object that should serve as the "base" connection (to which the VPN connections lifetime will be tied), or pass "/" and NM will automatically use the current default device.
@active_connection: The path of the active connection object representing this active connection.
Activate a connection using the supplied device.
-->
<method name="ActivateConnection">
<arg name="connection" type="o" direction="in"/>
<arg name="device" type="o" direction="in"/>
<arg name="specific_object" type="o" direction="in"/>
<arg name="active_connection" type="o" direction="out"/>
</method>
<!--
AddAndActivateConnection:
@connection: Connection settings and properties; if incomplete missing settings will be automatically completed using the given device and specific object.
@device: The object path of device to be activated using the given connection.
@specific_object: The path of a connection-type-specific object this activation should use. This parameter is currently ignored for wired and mobile broadband connections, and the value of "/" should be used (ie, no specific object). For WiFi connections, pass the object path of a specific AP from the card's scan list, which will be used to complete the details of the newly added connection.
@path: Object path of the new connection that was just added.
@active_connection: The path of the active connection object representing this active connection.
Adds a new connection using the given details (if any) as a template
(automatically filling in missing settings with the capabilities of the
given device and specific object), then activate the new connection.
Cannot be used for VPN connections at this time.
-->
<method name="AddAndActivateConnection">
<arg name="connection" type="a{sa{sv}}" direction="in"/>
<arg name="device" type="o" direction="in"/>
<arg name="specific_object" type="o" direction="in"/>
<arg name="path" type="o" direction="out"/>
<arg name="active_connection" type="o" direction="out"/>
</method>
<!--
DeactivateConnection:
@active_connection: The currently active connection to deactivate.
Deactivate an active connection.
-->
<method name="DeactivateConnection">
<arg name="active_connection" type="o" direction="in"/>
</method>
<!--
Sleep:
@sleep: Indicates whether the NetworkManager daemon should sleep or wake.
Control the NetworkManager daemon's sleep state. When asleep, all
interfaces that it manages are deactivated. When awake, devices are
available to be activated. This command should not be called directly by
users or clients; it is intended for system suspend/resume tracking.
-->
<method name="Sleep">
<arg name="sleep" type="b" direction="in"/>
</method>
<!--
Enable:
@enable: If FALSE, indicates that all networking should be disabled. If TRUE, indicates that NetworkManager should begin managing network devices.
Control whether overall networking is enabled or disabled. When disabled,
all interfaces that NM manages are deactivated. When enabled, all managed
interfaces are re-enabled and available to be activated. This command
should be used by clients that provide to users the ability to
enable/disable all networking.
-->
<method name="Enable">
<arg name="enable" type="b" direction="in"/>
</method>
<!--
GetPermissions:
@permissions: Dictionary of available permissions and results. Each permission is represented by a name (ie "org.freedesktop.NetworkManager.Foobar") and each result is one of the following values: "yes" (the permission is available), "auth" (the permission is available after a successful authentication), or "no" (the permission is denied). Clients may use these values in the UI to indicate the ability to perform certain operations.
Returns the permissions a caller has for various authenticated operations
that NetworkManager provides, like Enable/Disable networking, changing
WiFi, WWAN, and WiMAX state, etc.
-->
<method name="GetPermissions">
<arg name="permissions" type="a{ss}" direction="out"/>
</method>
<!--
CheckPermissions:
Emitted when system authorization details change, indicating that clients
may wish to recheck permissions with GetPermissions.
-->
<signal name="CheckPermissions"/>
<!--
SetLogging:
@level: One of [ERR, WARN, INFO, DEBUG, TRACE, OFF, KEEP]. This level is applied to the domains as specified in the domains argument. Except for the special level "KEEP", all unmentioned domains are disabled entirely. "KEEP" is special and allows not to change the current setting except for the specified domains. E.g. level=KEEP and domains=PLATFORM:DEBUG will only touch the platform domain.
@domains: A combination of logging domains separated by commas (','), or "NONE" to disable logging. Each domain enables logging for operations related to that domain. Available domains are: [PLATFORM, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT]. In addition to these domains, the following special domains can be used: [NONE, ALL, DEFAULT, DHCP, IP]. You can also specify that some domains should log at a different level from the default by appending a colon (':') and a log level (eg, 'WIFI:DEBUG'). If an empty string is given, the log level is changed but the current set of log domains remains unchanged.
Set logging verbosity and which operations are logged.
-->
<method name="SetLogging">
<arg name="level" type="s" direction="in"/>
<arg name="domains" type="s" direction="in"/>
</method>
<!--
GetLogging:
@level: One of [ERR, WARN, INFO, DEBUG, TRACE].
@domains: For available domains see SetLogging() call.
Get current logging verbosity level and operations domains.
-->
<method name="GetLogging">
<arg name="level" type="s" direction="out"/>
<arg name="domains" type="s" direction="out"/>
</method>
<!--
CheckConnectivity:
@connectivity: (<link linkend="NMConnectivityState">NMConnectivityState</link>) The current connectivity state.
Re-check the network connectivity state.
-->
<method name="CheckConnectivity">
<arg name="connectivity" type="u" direction="out"/>
</method>
<!--
state:
@state: <link linkend="NMState">NMState</link>
The overall networking state as determined by the NetworkManager daemon,
based on the state of network devices under it's management.
-->
<method name="state">
<arg name="state" type="u" direction="out"/>
</method>
<!--
CheckpointCreate:
@devices: a list of device paths for which a checkpoint should be created. An empty list means all devices.
@rollback_timeout: the time in seconds until NetworkManager will automatically rollback to the checkpoint. Set to zero for infinite.
@flags: optional flags that influence the creation.
@checkpoint: on success, returns the path of the checkpoint.
Create a checkpoint of the current networking configuration
for given interfaces. If @rollback_timeout is not zero, a
rollback is automatically performed after the given timeout.
-->
<method name="CheckpointCreate">
<arg name="devices" type="ao" direction="in"/>
<arg name="rollback_timeout" type="u" direction="in"/>
<arg name="flags" type="u" direction="in"/>
<arg name="checkpoint" type="o" direction="out"/>
</method>
<!--
CheckpointDestroy:
@checkpoint: the checkpoint to be destroyed. Set to empty to cancel all pending checkpoints.
Destroy a previously created checkpoint.
-->
<method name="CheckpointDestroy">
<arg name="checkpoint" type="o" direction="in"/>
</method>
<!--
CheckpointRollback:
@checkpoint: the checkpoint to be rolled back.
@result: on return, a dictionary of devices and results. Devices are represented by their original D-Bus path; each result is a <link linkend="NMRollbackResult">RollbackResult</link>.
Rollback a checkpoint before the timeout is reached.
-->
<method name="CheckpointRollback">
<arg name="checkpoint" type="o" direction="in"/>
<arg name="result" type="a{su}" direction="out" />
</method>
<!--
Devices:
The list of realized network devices. Realized devices are those which
have backing resources (eg from the kernel or a management daemon like
ModemManager, teamd, etc).
-->
<property name="Devices" type="ao" access="read"/>
<!--
AllDevices:
The list of both realized and un-realized network devices. Un-realized
devices are software devices which do not yet have backing resources, but
for which backing resources can be created if the device is activated.
-->
<property name="AllDevices" type="ao" access="read"/>
<!--
NetworkingEnabled:
Indicates if overall networking is currently enabled or not. See the
Enable() method.
-->
<property name="NetworkingEnabled" type="b" access="read"/>
<!--
WirelessEnabled:
Indicates if wireless is currently enabled or not.
-->
<property name="WirelessEnabled" type="b" access="readwrite"/>
<!--
WirelessHardwareEnabled:
Indicates if the wireless hardware is currently enabled, i.e. the state of
the RF kill switch.
-->
<property name="WirelessHardwareEnabled" type="b" access="read"/>
<!--
WwanEnabled:
Indicates if mobile broadband devices are currently enabled or not.
-->
<property name="WwanEnabled" type="b" access="readwrite"/>
<!--
WwanHardwareEnabled:
Indicates if the mobile broadband hardware is currently enabled, i.e. the
state of the RF kill switch.
-->
<property name="WwanHardwareEnabled" type="b" access="read"/>
<!--
WimaxEnabled:
Indicates if WiMAX devices are currently enabled or not.
-->
<property name="WimaxEnabled" type="b" access="readwrite"/>
<!--
WimaxHardwareEnabled:
Indicates if the WiMAX hardware is currently enabled, i.e. the state of
the RF kill switch.
-->
<property name="WimaxHardwareEnabled" type="b" access="read"/>
<!--
ActiveConnections:
List of active connection object paths.
-->
<property name="ActiveConnections" type="ao" access="read"/>
<!--
PrimaryConnection:
The object path of the "primary" active connection being used to access
the network. In particular, if there is no VPN active, or the VPN does not
have the default route, then this indicates the connection that has the
default route. If there is a VPN active with the default route, then this
indicates the connection that contains the route to the VPN endpoint.
-->
<property name="PrimaryConnection" type="o" access="read"/>
<!--
PrimaryConnectionType:
The connection type of the "primary" active connection being used to
access the network. This is the same as the Type property on the object
indicated by PrimaryConnection.
-->
<property name="PrimaryConnectionType" type="s" access="read"/>
<!--
Metered:
Indicates whether the connectivity is metered. This is equivalent to the
metered property of the device associated with the primary connection.
Returns: <link linkend="NMMetered">NMMetered</link>
-->
<property name="Metered" type="u" access="read"/>
<!--
ActivatingConnection:
The object path of an active connection that is currently being activated
and which is expected to become the new PrimaryConnection when it finishes
activating.
-->
<property name="ActivatingConnection" type="o" access="read"/>
<!--
Startup:
Indicates whether NM is still starting up; this becomes FALSE when NM has
finished attempting to activate every connection that it might be able to
activate at startup.
-->
<property name="Startup" type="b" access="read"/>
<!--
Version:
NetworkManager version.
-->
<property name="Version" type="s" access="read"/>
<!--
Capabilities:
The current set of capabilities. See <link
linkend="NMCapability">NMCapability</link> for currently
defined capability numbers. The array is guaranteed to
be sorted in ascending order without duplicates.
-->
<property name="Capabilities" type="au" access="read"/>
<!--
State:
The overall state of the NetworkManager daemon.
Returns: <link linkend="NMState">NMState</link>
-->
<property name="State" type="u" access="read"/>
<!--
StateChanged:
@state: (<link linkend="NMState">NMState</link>) The new state of NetworkManager.
NetworkManager's state changed.
-->
<signal name="StateChanged">
<arg name="state" type="u"/>
</signal>
<!--
Connectivity:
The network connectivity state.
Returns: <link linkend="NMConnectivityState">NMConnectivityState</link>
-->
<property name="Connectivity" type="u" access="read"/>
<!--
GlobalDnsConfiguration:
Dictionary of global DNS settings where the key is one of "searches",
"options" and "domains". The values for the "searches" and "options" keys
are string arrays describing the list of search domains and resolver
options, respectively. The value of the "domains" key is a second-level
dictionary, where each key is a domain name, and each key's value is a
third-level dictionary with the keys "servers" and "options". "servers" is
a string array of DNS servers, "options" is a string array of
domain-specific options.
-->
<property name="GlobalDnsConfiguration" type="a{sv}" access="readwrite"/>
<!--
PropertiesChanged:
@properties: The changed properties.
DEPRECATED. Use the standard "PropertiesChanged" signal from "org.freedesktop.DBus.Properties" instead which exists since version NetworkManager 1.2.0.
-->
<signal name="PropertiesChanged">
<arg name="properties" type="a{sv}"/>
</signal>
<!--
DeviceAdded:
@device_path: The object path of the newly added device.
A device was added to the system
-->
<signal name="DeviceAdded">
<arg name="device_path" type="o"/>
</signal>
<!--
DeviceRemoved:
@device_path: The object path of the device that was just removed.
A device was removed from the system, and is no longer available.
-->
<signal name="DeviceRemoved">
<arg name="device_path" type="o"/>
</signal>
</interface>
</node>