NetworkManager/introspection/nm-manager.xml
Dan Williams f0149b6372 core: enforce permissions for SetLogging
This was always protected by D-Bus policy permissions, but just to
be paranoid, ensure it's also protected by explicit checks on the UID.
2014-01-23 16:48:19 -06:00

499 lines
20 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<node name="/org/freedesktop/NetworkManager" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.NetworkManager">
<method name="GetDevices">
<tp:docstring>
Get the list of network devices.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_devices"/>
<arg name="devices" type="ao" direction="out">
<tp:docstring>
List of object paths of network devices known to the system.
</tp:docstring>
</arg>
</method>
<method name="GetDeviceByIpIface">
<tp:docstring>
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.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_device_by_ip_iface"/>
<arg name="iface" type="s" direction="in">
<tp:docstring>
Interface name of the device to find.
</tp:docstring>
</arg>
<arg name="device" type="o" direction="out">
<tp:docstring>
Object path of the network device.
</tp:docstring>
</arg>
</method>
<method name="ActivateConnection">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_activate_connection"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
Activate a connection using the supplied device.
</tp:docstring>
<arg name="connection" type="o" direction="in">
<tp:docstring>
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.
</tp:docstring>
</arg>
<arg name="device" type="o" direction="in">
<tp:docstring>
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.
</tp:docstring>
</arg>
<arg name="specific_object" type="o" direction="in">
<tp:docstring>
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.
</tp:docstring>
</arg>
<arg name="active_connection" type="o" direction="out">
<tp:docstring>
The path of the active connection object representing this active connection.
</tp:docstring>
</arg>
<tp:possible-errors>
<tp:error name="org.freedesktop.NetworkManager.Error.UnknownConnection"/>
<tp:error name="org.freedesktop.NetworkManager.Error.UnknownDevice"/>
<tp:error name="org.freedesktop.NetworkManager.Error.ConnectionActivating">
<tp:docstring>Another connection is already activating or the same connection is already active. FIXME: check if the error name is correct. FIXME: split into 2 errors?</tp:docstring>
</tp:error>
<tp:error name="org.freedesktop.NetworkManager.Error.ConnectionInvalid">
<tp:docstring>The connection is invalid for this device.</tp:docstring>
</tp:error>
</tp:possible-errors>
</method>
<method name="AddAndActivateConnection">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_add_and_activate_connection"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
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.
</tp:docstring>
<arg name="connection" type="a{sa{sv}}" direction="in">
<tp:docstring>
Connection settings and properties; if incomplete missing settings will
be automatically completed using the given device and specific object.
</tp:docstring>
</arg>
<arg name="device" type="o" direction="in">
<tp:docstring>
The object path of device to be activated using the given connection.
</tp:docstring>
</arg>
<arg name="specific_object" type="o" direction="in">
<tp:docstring>
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.
</tp:docstring>
</arg>
<arg name="path" type="o" direction="out">
<tp:docstring>
Object path of the new connection that was just added.
</tp:docstring>
</arg>
<arg name="active_connection" type="o" direction="out">
<tp:docstring>
The path of the active connection object representing this active connection.
</tp:docstring>
</arg>
<tp:possible-errors>
<tp:error name="org.freedesktop.NetworkManager.Error.UnknownConnection"/>
<tp:error name="org.freedesktop.NetworkManager.Error.UnknownDevice"/>
<tp:error name="org.freedesktop.NetworkManager.Error.ConnectionInvalid">
<tp:docstring>The connection is invalid for this device.</tp:docstring>
</tp:error>
</tp:possible-errors>
</method>
<method name="DeactivateConnection">
<tp:docstring>
Deactivate an active connection.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_deactivate_connection"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg name="active_connection" type="o" direction="in">
<tp:docstring>
The currently active connection to deactivate.
</tp:docstring>
</arg>
</method>
<method name="Sleep">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_sleep"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
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.
</tp:docstring>
<arg name="sleep" type="b" direction="in">
<tp:docstring>
Indicates whether the NetworkManager daemon should sleep or wake.
</tp:docstring>
</arg>
</method>
<method name="Enable">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_enable"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
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.
</tp:docstring>
<arg name="enable" type="b" direction="in">
<tp:docstring>
If FALSE, indicates that all networking should be disabled. If TRUE,
indicates that NetworkManager should begin managing network devices.
</tp:docstring>
</arg>
</method>
<method name="GetPermissions">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_permissions"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
Returns the permissions a caller has for various authenticated operations
that NetworkManager provides, like Enable/Disable networking, changing
WiFi, WWAN, and WiMAX state, etc.
</tp:docstring>
<arg name="permissions" type="a{ss}" direction="out">
<tp:docstring>
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.
</tp:docstring>
</arg>
</method>
<signal name="CheckPermissions">
<tp:docstring>
Emitted when system authorization details change, indicating that
clients may wish to recheck permissions with GetPermissions.
</tp:docstring>
</signal>
<method name="SetLogging">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_set_logging"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
Set logging verbosity and which operations are logged.
</tp:docstring>
<arg name="level" type="s" direction="in">
<tp:docstring>
One of [ERR, WARN, INFO, DEBUG].
</tp:docstring>
</arg>
<arg name="domains" type="s" direction="in">
<tp:docstring>
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: [HW, 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]. 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.
</tp:docstring>
</arg>
</method>
<method name="GetLogging">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_logging"/>
<tp:docstring>
Get current logging verbosity level and operations domains.
</tp:docstring>
<arg name="level" type="s" direction="out">
<tp:docstring>
One of [ERR, WARN, INFO, DEBUG].
</tp:docstring>
</arg>
<arg name="domains" type="s" direction="out">
<tp:docstring>
For available domains see SetLogging() call.
</tp:docstring>
</arg>
</method>
<method name="CheckConnectivity">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_check_connectivity"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
Re-check the network connectivity state.
</tp:docstring>
<arg name="connectivity" type="u" tp:type="NM_CONNECTIVITY" direction="out">
<tp:docstring>
The current connectivity state.
</tp:docstring>
</arg>
</method>
<method name="state">
<tp:docstring>
The overall networking state as determined by the NetworkManager daemon,
based on the state of network devices under it's management.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_state"/>
<arg name="state" type="u" direction="out" tp:type="NM_STATE"/>
</method>
<property name="NetworkingEnabled" type="b" access="read">
<tp:docstring>
Indicates if overall networking is currently enabled or not. See the
Enable() method.
</tp:docstring>
</property>
<property name="WirelessEnabled" type="b" access="readwrite">
<tp:docstring>
Indicates if wireless is currently enabled or not.
</tp:docstring>
</property>
<property name="WirelessHardwareEnabled" type="b" access="read">
<tp:docstring>
Indicates if the wireless hardware is currently enabled, i.e. the state of the RF kill switch.
</tp:docstring>
</property>
<property name="WwanEnabled" type="b" access="readwrite">
<tp:docstring>
Indicates if mobile broadband devices are currently enabled or not.
</tp:docstring>
</property>
<property name="WwanHardwareEnabled" type="b" access="read">
<tp:docstring>
Indicates if the mobile broadband hardware is currently enabled, i.e. the state of the RF kill switch.
</tp:docstring>
</property>
<property name="WimaxEnabled" type="b" access="readwrite">
<tp:docstring>
Indicates if WiMAX devices are currently enabled or not.
</tp:docstring>
</property>
<property name="WimaxHardwareEnabled" type="b" access="read">
<tp:docstring>
Indicates if the WiMAX hardware is currently enabled, i.e. the state of the RF kill switch.
</tp:docstring>
</property>
<property name="ActiveConnections" type="ao" access="read">
<tp:docstring>
List of active connection object paths.
</tp:docstring>
</property>
<property name="PrimaryConnection" type="o" access="read">
<tp:docstring>
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.
</tp:docstring>
</property>
<property name="ActivatingConnection" type="o" access="read">
<tp:docstring>
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.
</tp:docstring>
</property>
<property name="Startup" type="b" access="read">
<tp:docstring>
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.
</tp:docstring>
</property>
<property name="Version" type="s" access="read">
<tp:docstring>
NetworkManager version.
</tp:docstring>
</property>
<property name="State" type="u" access="read" tp:type="NM_STATE">
<tp:docstring>
The overall state of the NetworkManager daemon.
</tp:docstring>
</property>
<signal name="StateChanged">
<tp:docstring>
NetworkManager's state changed.
</tp:docstring>
<arg name="state" type="u" tp:type="NM_STATE">
<tp:docstring>
The new state of NetworkManager.
</tp:docstring>
</arg>
</signal>
<property name="Connectivity" type="u" access="read" tp:type="NM_CONNECTIVITY">
<tp:docstring>
The network connectivity state.
</tp:docstring>
</property>
<signal name="PropertiesChanged">
<tp:docstring>
NetworkManager's properties changed.
</tp:docstring>
<arg name="properties" type="a{sv}" tp:type="String_Variant_Map">
<tp:docstring>
The changed properties.
</tp:docstring>
</arg>
</signal>
<signal name="DeviceAdded">
<tp:docstring>
A device was added to the system
</tp:docstring>
<arg name="device_path" type="o">
<tp:docstring>
The object path of the newly added device.
</tp:docstring>
</arg>
</signal>
<signal name="DeviceRemoved">
<tp:docstring>
A device was removed from the system, and is no longer available.
</tp:docstring>
<arg name="device_path" type="o">
<tp:docstring>
The object path of the device that was just removed.
</tp:docstring>
</arg>
</signal>
<tp:enum name="NM_STATE" type="u">
<tp:docstring>
Describes the overall state of the daemon.
</tp:docstring>
<tp:enumvalue suffix="UNKNOWN" value="0">
<tp:docstring>
Networking state is unknown.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="ASLEEP" value="10">
<tp:docstring>
Networking is inactive and all devices are disabled.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DISCONNECTED" value="20">
<tp:docstring>
There is no active network connection.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DISCONNECTING" value="30">
<tp:docstring>
Network connections are being cleaned up.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="CONNECTING" value="40">
<tp:docstring>
A network device is connecting to a network and there is no other
available network connection.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="CONNECTED_LOCAL" value="50">
<tp:docstring>
A network device is connected, but there is only link-local connectivity.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="CONNECTED_SITE" value="60">
<tp:docstring>
A network device is connected, but there is only site-local connectivity.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="CONNECTED_GLOBAL" value="70">
<tp:docstring>
A network device is connected, with global network connectivity.
</tp:docstring>
</tp:enumvalue>
</tp:enum>
<tp:enum name="NM_CONNECTIVITY" type="u">
<tp:docstring>
Describes the network-connectivity state.
</tp:docstring>
<tp:enumvalue suffix="UNKNOWN" value="0">
<tp:docstring>
Network connectivity is unknown.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="NONE" value="1">
<tp:docstring>
The host is not connected to any network.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="PORTAL" value="2">
<tp:docstring>
The host is behind a captive portal and cannot reach the
full Internet.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="LIMITED" value="3">
<tp:docstring>
The host is connected to a network, but does not appear to
be able to reach the full Internet.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="FULL" value="4">
<tp:docstring>
The host is connected to a network, and appears to be able
to reach the full Internet
</tp:docstring>
</tp:enumvalue>
</tp:enum>
</interface>
</node>