summaryrefslogtreecommitdiff
path: root/introspection/org.freedesktop.NetworkManager.xml
blob: bb48941b2e0aeda7ba37d23aac56026a141b84c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
<?xml version="1.0" encoding="UTF-8"?>
<node name="/org/freedesktop/NetworkManager">
  <!--
      org.freedesktop.NetworkManager:
      @short_description: Connection Manager

  -->
  <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 Wi-Fi 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 Wi-Fi 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.

        See also AddAndActivateConnection2.
    -->
    <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>

    <!--
        AddAndActivateConnection2:
        @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 Wi-Fi 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.
        @options: Further options for the method call.
        @path: Object path of the new connection that was just added.
        @active_connection: The path of the active connection object representing this active connection.
        @result: a dictionary of additional output arguments for future extension. Currently not additional
          output arguments are supported.

        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.

        This method extends AddAndActivateConnection to allow passing further
        parameters. At this time the following options are supported:

         * persist: A string value of either "disk" (default), "memory" or "volatile". If "memory" is passed, the connection will not be saved to disk. If "volatile" is passed, the connection will not be saved to disk and will be destroyed when disconnected.
         * bind-activation: Bind the activation lifetime. Set to "dbus-name" to automatically disconnect when the requesting process disappears from the bus. The default of "none" means the connection is kept activated normally.
    -->
    <method name="AddAndActivateConnection2">
      <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="options" type="a{sv}" direction="in"/>
      <arg name="path" type="o" direction="out"/>
      <arg name="active_connection" type="o" direction="out"/>
      <arg name="result" type="a{sv}" 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
        Wi-Fi, 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 its 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: (<link linkend="NMCheckpointCreateFlags">NMCheckpointCreateFlags</link>) Flags for the creation.
        @checkpoint: On success, the path of the new 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>

    <!--
        CheckpointAdjustRollbackTimeout:
        @add_timeout: number of seconds from ~now~ in which the
          timeout will expire. Set to 0 to disable the timeout.
          Note that the added seconds start counting from now,
          not "Created" timestamp or the previous expiration
          time. Note that the "Created" property of the checkpoint
          will stay unchanged by this call. However, the "RollbackTimeout"
          will be recalculated to give the approximate new expiration time.
          The new "RollbackTimeout" property will be approximate up to
          one second precision, which is the accuracy of the property.

        Reset the timeout for rollback for the checkpoint.

        Since: 1.12
    -->
    <method name="CheckpointAdjustRollbackTimeout">
      <arg name="checkpoint" type="o" direction="in"/>
      <arg name="add_timeout" type="u" direction="in"/>
    </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"/>

    <!--
        Checkpoints:

        The list of active checkpoints.
    -->
    <property name="Checkpoints" 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.

        This takes state of all active connections and the connectivity state into account
        to produce a single indicator of the network accessibility status.

        The graphical shells may use this property to provide network connection status
        indication and applications may use this to check if Internet connection is
        accessible. Shell that is able to cope with captive portals should use the
        "Connectivity" property to decide whether to present a captive portal authentication
        dialog.

        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 result of the last connectivity check. The connectivity check is triggered
        automatically when a default connection becomes available, periodically and by
        calling a CheckConnectivity() method.

        This property is in general useful for the graphical shell to determine whether
        the Internet access is being hijacked by an authentication gateway (a "captive
        portal"). In such case it would typically present a web browser window to give
        the user a chance to authenticate and call CheckConnectivity() when the user
        submits a form or dismisses the window.

        To determine the whether the user is able to access the Internet without dealing
        with captive portals (e.g. to provide a network connection indicator or disable
        controls that require Internet access), the "State" property is more suitable.

        Returns: <link linkend="NMConnectivityState">NMConnectivityState</link>
    -->
    <property name="Connectivity" type="u" access="read"/>

    <!--
        ConnectivityCheckAvailable:

        Indicates whether connectivity checking service has been
        configured.  This may return true even if the service is not
        currently enabled.

        This is primarily intended for use in a privacy control panel,
        as a way to determine whether to show an option to
        enable/disable the feature.
    -->
    <property name="ConnectivityCheckAvailable" type="b" access="read"/>

    <!--
        ConnectivityCheckEnabled:

        Indicates whether connectivity checking is enabled.  This
        property can also be written to to disable connectivity
        checking (as a privacy control panel might want to do).
    -->
    <property name="ConnectivityCheckEnabled" type="b" access="readwrite"/>

    <!--
        ConnectivityCheckUri:

        The URI that NetworkManager will hit to check if there is internet connectivity.
    -->
    <property name="ConnectivityCheckUri" type="s" 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>