Class (GI Class)

NM-1.0NMSettingIP4Config

IPv4 Settings

Hierarchy (View Summary)

Index

Constructors

Properties

Accessors

Accessors - Inherited from NM.SettingIPConfig

Methods

Methods - Inherited from NM.SettingIPConfig

add_address add_dhcp_reject_server add_dns add_dns_option add_dns_search add_route add_routing_rule bind_property bind_property_full block_signal_handler clear_addresses clear_dhcp_reject_servers clear_dns clear_dns_options clear_dns_searches clear_routes clear_routing_rules compare diff disconnect duplicate enumerate_values force_floating freeze_notify get_address get_auto_route_ext_gw get_dad_timeout get_data get_dbus_property_type get_dhcp_dscp get_dhcp_hostname get_dhcp_hostname_flags get_dhcp_iaid get_dhcp_reject_servers get_dhcp_send_hostname get_dhcp_send_release get_dhcp_timeout get_dns get_dns_option get_dns_priority get_dns_search get_gateway get_ignore_auto_dns get_ignore_auto_routes get_may_fail get_method get_name get_never_default get_num_addresses get_num_dns get_num_dns_options get_num_dns_searches get_num_routes get_num_routing_rules get_property get_qdata get_replace_local_rule get_required_timeout get_route get_route_metric get_route_table get_routing_rule get_secret_flags getv has_dns_options is_floating notify notify_by_pspec option_clear_by_name option_get option_get_all_names option_get_boolean option_get_uint32 option_set option_set_boolean option_set_uint32 ref ref_sink remove_address remove_address_by_value remove_dhcp_reject_server remove_dns remove_dns_by_value remove_dns_option remove_dns_option_by_value remove_dns_search remove_dns_search_by_value remove_route remove_route_by_value remove_routing_rule run_dispose set set_data set_property set_secret_flags steal_data steal_qdata stop_emission_by_name thaw_notify to_string unblock_signal_handler unref verify verify_secrets vfunc_constructed vfunc_dispatch_properties_changed vfunc_dispose vfunc_finalize vfunc_get_property vfunc_notify vfunc_set_property watch_closure _classInit compat_control find_property get_enum_property_type install_properties install_property interface_find_property interface_install_property interface_list_properties list_properties lookup_type newv override_property

Constructors

Properties

Compile-time signal type information.

This instance property is generated only for TypeScript type checking. It is not defined at runtime and should not be accessed in JS code.

Accessors

  • get dhcp_client_id(): string

    A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0.

    The special values "mac" and "perm-mac" are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links.

    The special value "ipv6-duid" uses the DUID from "ipv6.dhcp-duid" property as an RFC4361-compliant client identifier. As IAID it uses "ipv4.dhcp-iaid" and falls back to "ipv6.dhcp-iaid" if unset.

    The special value "duid" generates a RFC4361-compliant client identifier based on "ipv4.dhcp-iaid" and uses a DUID generated by hashing /etc/machine-id.

    The special value "stable" is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the "${DEVICE}" or "${MAC}" specifier to get a per-device key.

    The special value "none" prevents any client identifier from being sent. Note that this is normally not recommended.

    If unset, a globally configured default from NetworkManager.conf is used. If still unset, the default depends on the DHCP plugin. The internal dhcp client will default to "mac" and the dhclient plugin will try to use one from its config file if present, or won't sent any client-id otherwise.

    Returns string

  • set dhcp_client_id(val: string): void

    Parameters

    • val: string

    Returns void

  • get dhcp_vendor_class_identifier(): string

    The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server.

    Returns string

    1.28

  • set dhcp_vendor_class_identifier(val: string): void

    Parameters

    • val: string

    Returns void

  • get dhcpClientId(): string

    A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0.

    The special values "mac" and "perm-mac" are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links.

    The special value "ipv6-duid" uses the DUID from "ipv6.dhcp-duid" property as an RFC4361-compliant client identifier. As IAID it uses "ipv4.dhcp-iaid" and falls back to "ipv6.dhcp-iaid" if unset.

    The special value "duid" generates a RFC4361-compliant client identifier based on "ipv4.dhcp-iaid" and uses a DUID generated by hashing /etc/machine-id.

    The special value "stable" is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the "${DEVICE}" or "${MAC}" specifier to get a per-device key.

    The special value "none" prevents any client identifier from being sent. Note that this is normally not recommended.

    If unset, a globally configured default from NetworkManager.conf is used. If still unset, the default depends on the DHCP plugin. The internal dhcp client will default to "mac" and the dhclient plugin will try to use one from its config file if present, or won't sent any client-id otherwise.

    Returns string

  • set dhcpClientId(val: string): void

    Parameters

    • val: string

    Returns void

  • get dhcpVendorClassIdentifier(): string

    The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server.

    Returns string

    1.28

  • set dhcpVendorClassIdentifier(val: string): void

    Parameters

    • val: string

    Returns void

  • Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.

    When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".

    Returns number

    1.40

  • Parameters

    • val: number

    Returns void

  • get linkLocal(): number

    Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.

    When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".

    Returns number

    1.40

  • set linkLocal(val: number): void

    Parameters

    • val: number

    Returns void

Accessors - Inherited from NM.SettingIPConfig

  • get auto_route_ext_gw(): NM.Ternary

    VPN connections will default to add the route automatically unless this setting is set to false.

    For other connection types, adding such an automatic route is currently not supported and setting this to true has no effect.

    Returns NM.Ternary

    1.42

  • set auto_route_ext_gw(val: NM.Ternary): void

    Parameters

    Returns void

  • get autoRouteExtGw(): NM.Ternary

    VPN connections will default to add the route automatically unless this setting is set to false.

    For other connection types, adding such an automatic route is currently not supported and setting this to true has no effect.

    Returns NM.Ternary

    1.42

  • set autoRouteExtGw(val: NM.Ternary): void

    Parameters

    Returns void

  • get dad_timeout(): number

    Maximum timeout in milliseconds used to check for the presence of duplicate IP addresses on the network. If an address conflict is detected, the activation will fail. The property is currently implemented only for IPv4.

    A zero value means that no duplicate address detection is performed, -1 means the default value (either the value configured globally in NetworkManger.conf or 200ms). A value greater than zero is a timeout in milliseconds. Note that the time intervals are subject to randomization as per RFC 5227 and so the actual duration can be between half and the full time specified in this property.

    Returns number

    1.2

  • set dad_timeout(val: number): void

    Parameters

    • val: number

    Returns void

  • get dadTimeout(): number

    Maximum timeout in milliseconds used to check for the presence of duplicate IP addresses on the network. If an address conflict is detected, the activation will fail. The property is currently implemented only for IPv4.

    A zero value means that no duplicate address detection is performed, -1 means the default value (either the value configured globally in NetworkManger.conf or 200ms). A value greater than zero is a timeout in milliseconds. Note that the time intervals are subject to randomization as per RFC 5227 and so the actual duration can be between half and the full time specified in this property.

    Returns number

    1.2

  • set dadTimeout(val: number): void

    Parameters

    • val: number

    Returns void

  • get dhcp_dscp(): string

    Specifies the value for the DSCP field (traffic class) of the IP header. When empty, the global default value is used; if no global default is specified, it is assumed to be "CS0". Allowed values are: "CS0", "CS4" and "CS6".

    The property is currently valid only for IPv4, and it is supported only by the "internal" DHCP plugin.

    Returns string

    1.46

  • set dhcp_dscp(val: string): void

    Parameters

    • val: string

    Returns void

  • get dhcp_iaid(): string

    A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The string can be a 32-bit number (either decimal, hexadecimal or as colon separated hexadecimal numbers). Alternatively it can be set to the special values "mac", "perm-mac", "ifname" or "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname".

    For DHCPv4, the IAID is only used with "ipv4.dhcp-client-id" values "duid" and "ipv6-duid" to generate the client-id.

    For DHCPv6, note that at the moment this property is only supported by the "internal" DHCPv6 plugin. The "dhclient" DHCPv6 plugin always derives the IAID from the MAC address.

    The actually used DHCPv6 IAID for a currently activated interface is exposed in the lease information of the device.

    Returns string

    1.22

  • set dhcp_iaid(val: string): void

    Parameters

    • val: string

    Returns void

  • get dhcp_reject_servers(): string[]

    Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers.

    For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24").

    This property is currently not implemented for DHCPv6.

    Returns string[]

    1.28

  • set dhcp_reject_servers(val: string[]): void

    Parameters

    • val: string[]

    Returns void

  • get dhcp_send_hostname(): boolean

    If true, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer. If the NM.SettingIPConfig.dhcp_hostname property is null and this property is true, the current persistent hostname of the computer is sent.

    Returns boolean

  • set dhcp_send_hostname(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get dhcp_send_release(): NM.Ternary

    Whether the DHCP client will send RELEASE message when bringing the connection down. The default value is NM.Ternary.DEFAULT. When the default value is specified, then the global value from NetworkManager configuration is looked up, if not set, it is considered as false.

    Returns NM.Ternary

    1.48

  • set dhcp_send_release(val: NM.Ternary): void

    Parameters

    Returns void

  • get dhcp_timeout(): number

    A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds).

    Set to 2147483647 (MAXINT32) for infinity.

    Returns number

  • set dhcp_timeout(val: number): void

    Parameters

    • val: number

    Returns void

  • get dhcpDscp(): string

    Specifies the value for the DSCP field (traffic class) of the IP header. When empty, the global default value is used; if no global default is specified, it is assumed to be "CS0". Allowed values are: "CS0", "CS4" and "CS6".

    The property is currently valid only for IPv4, and it is supported only by the "internal" DHCP plugin.

    Returns string

    1.46

  • set dhcpDscp(val: string): void

    Parameters

    • val: string

    Returns void

  • get dhcpIaid(): string

    A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The string can be a 32-bit number (either decimal, hexadecimal or as colon separated hexadecimal numbers). Alternatively it can be set to the special values "mac", "perm-mac", "ifname" or "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname".

    For DHCPv4, the IAID is only used with "ipv4.dhcp-client-id" values "duid" and "ipv6-duid" to generate the client-id.

    For DHCPv6, note that at the moment this property is only supported by the "internal" DHCPv6 plugin. The "dhclient" DHCPv6 plugin always derives the IAID from the MAC address.

    The actually used DHCPv6 IAID for a currently activated interface is exposed in the lease information of the device.

    Returns string

    1.22

  • set dhcpIaid(val: string): void

    Parameters

    • val: string

    Returns void

  • get dhcpRejectServers(): string[]

    Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers.

    For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24").

    This property is currently not implemented for DHCPv6.

    Returns string[]

    1.28

  • set dhcpRejectServers(val: string[]): void

    Parameters

    • val: string[]

    Returns void

  • get dhcpSendHostname(): boolean

    If true, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer. If the NM.SettingIPConfig.dhcp_hostname property is null and this property is true, the current persistent hostname of the computer is sent.

    Returns boolean

  • set dhcpSendHostname(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get dhcpSendRelease(): NM.Ternary

    Whether the DHCP client will send RELEASE message when bringing the connection down. The default value is NM.Ternary.DEFAULT. When the default value is specified, then the global value from NetworkManager configuration is looked up, if not set, it is considered as false.

    Returns NM.Ternary

    1.48

  • set dhcpSendRelease(val: NM.Ternary): void

    Parameters

    Returns void

  • get dhcpTimeout(): number

    A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds).

    Set to 2147483647 (MAXINT32) for infinity.

    Returns number

  • set dhcpTimeout(val: number): void

    Parameters

    • val: number

    Returns void

  • get dns(): string[]

    Array of IP addresses of DNS servers.

    For DoT (DNS over TLS), the SNI server name can be specified by appending "#example.com" to the IP address of the DNS server. This currently only has effect when using systemd-resolved.

    Returns string[]

  • set dns(val: string[]): void

    Parameters

    • val: string[]

    Returns void

  • get dns_options(): string[]

    Array of DNS options to be added to resolv.conf.

    null means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties.

    The following options are directly added to resolv.conf: "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-aaaa", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". See the resolv.conf(5) man page for a detailed description of these options.

    In addition, NetworkManager supports the special options "_no-add-edns0" and "_no-add-trust-ad". They are not added to resolv.conf, and can be used to prevent the automatic addition of options "edns0" and "trust-ad" when using caching DNS plugins (see below).

    The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.

    When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added, unless "_no-add-edns0" and "_no-add-trust-ad" are present.

    Returns string[]

    1.2

  • set dns_options(val: string[]): void

    Parameters

    • val: string[]

    Returns void

  • get dns_priority(): number

    DNS servers priority.

    The relative priority for DNS servers specified by this setting. A lower numerical value is better (higher priority).

    Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles.

    Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections.

    Note that the priority is to order DNS settings for multiple active connections. It does not disambiguate multiple DNS servers within the same connection profile.

    When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices.

    When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered.

    When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain. Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually). When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins. If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.

    Returns number

    1.4

  • set dns_priority(val: number): void

    Parameters

    • val: number

    Returns void

  • List of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names.

    When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting.

    When set on a profile that also enabled DHCP, the DNS search list received automatically (option 119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. This can be prevented by setting "ignore-auto-dns". Note that if no DNS searches are configured, the fallback will be derived from the domain from DHCP (option 15).

    Returns string[]

  • set dns_search(val: string[]): void

    Parameters

    • val: string[]

    Returns void

  • get dnsOptions(): string[]

    Array of DNS options to be added to resolv.conf.

    null means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties.

    The following options are directly added to resolv.conf: "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-aaaa", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". See the resolv.conf(5) man page for a detailed description of these options.

    In addition, NetworkManager supports the special options "_no-add-edns0" and "_no-add-trust-ad". They are not added to resolv.conf, and can be used to prevent the automatic addition of options "edns0" and "trust-ad" when using caching DNS plugins (see below).

    The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.

    When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added, unless "_no-add-edns0" and "_no-add-trust-ad" are present.

    Returns string[]

    1.2

  • set dnsOptions(val: string[]): void

    Parameters

    • val: string[]

    Returns void

  • get dnsPriority(): number

    DNS servers priority.

    The relative priority for DNS servers specified by this setting. A lower numerical value is better (higher priority).

    Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles.

    Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections.

    Note that the priority is to order DNS settings for multiple active connections. It does not disambiguate multiple DNS servers within the same connection profile.

    When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices.

    When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered.

    When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain. Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually). When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins. If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.

    Returns number

    1.4

  • set dnsPriority(val: number): void

    Parameters

    • val: number

    Returns void

  • get dnsSearch(): string[]

    List of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names.

    When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting.

    When set on a profile that also enabled DHCP, the DNS search list received automatically (option 119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. This can be prevented by setting "ignore-auto-dns". Note that if no DNS searches are configured, the fallback will be derived from the domain from DHCP (option 15).

    Returns string[]

  • set dnsSearch(val: string[]): void

    Parameters

    • val: string[]

    Returns void

  • get gateway(): string

    The gateway associated with this configuration. This is only meaningful if NM.SettingIPConfig.addresses is also set.

    Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if NM.SettingIPConfig.never_default is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length.

    Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See NM.SettingWireGuard.ip4_auto_default_route.

    Returns string

  • set gateway(val: string): void

    Parameters

    • val: string

    Returns void

  • get ignore_auto_routes(): boolean

    When NM.SettingIPConfig.method is set to "auto" and this property to true, automatically configured routes are ignored and only routes specified in the NM.SettingIPConfig.routes property, if any, are used.

    Returns boolean

  • set ignore_auto_routes(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get ignoreAutoRoutes(): boolean

    When NM.SettingIPConfig.method is set to "auto" and this property to true, automatically configured routes are ignored and only routes specified in the NM.SettingIPConfig.routes property, if any, are used.

    Returns boolean

  • set ignoreAutoRoutes(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get may_fail(): boolean

    If true, allow overall network configuration to proceed even if the configuration specified by this property times out. Note that at least one IP configuration must succeed or overall network configuration will still fail. For example, in IPv6-only networks, setting this property to true on the NM.SettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.

    Returns boolean

  • set may_fail(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get mayFail(): boolean

    If true, allow overall network configuration to proceed even if the configuration specified by this property times out. Note that at least one IP configuration must succeed or overall network configuration will still fail. For example, in IPv6-only networks, setting this property to true on the NM.SettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.

    Returns boolean

  • set mayFail(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get method(): string

    IP configuration method.

    NM.SettingIP4Config and NM.SettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.

    In general, for the "auto" method, properties such as NM.SettingIPConfig.dns and NM.SettingIPConfig.routes specify information that is added on to the information returned from automatic configuration. The NM.SettingIPConfig.ignore_auto_routes and NM.SettingIPConfig.ignore_auto_dns properties modify this behavior.

    For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.

    For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.

    Returns string

  • set method(val: string): void

    Parameters

    • val: string

    Returns void

  • get name(): string

    The setting's name, which uniquely identifies the setting within the connection. Each setting type has a name unique to that type, for example "ppp" or "802-11-wireless" or "802-3-ethernet".

    Returns string

  • get never_default(): boolean

    If true, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.

    Returns boolean

  • set never_default(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get neverDefault(): boolean

    If true, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.

    Returns boolean

  • set neverDefault(val: boolean): void

    Parameters

    • val: boolean

    Returns void

  • get replace_local_rule(): NM.Ternary

    Connections will default to keep the autogenerated priority 0 local rule unless this setting is set to true.

    Returns NM.Ternary

    1.44

  • set replace_local_rule(val: NM.Ternary): void

    Parameters

    Returns void

  • get required_timeout(): number

    The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds.

    This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active.

    Note that if NM.SettingIPConfig.may_fail is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout.

    A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).

    Returns number

    1.34

  • set required_timeout(val: number): void

    Parameters

    • val: number

    Returns void

  • get requiredTimeout(): number

    The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds.

    This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active.

    Note that if NM.SettingIPConfig.may_fail is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout.

    A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).

    Returns number

    1.34

  • set requiredTimeout(val: number): void

    Parameters

    • val: number

    Returns void

  • get route_metric(): number

    The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.

    Returns number

  • set route_metric(val: number): void

    Parameters

    • val: number

    Returns void

  • get route_table(): number

    Enable policy routing (source routing) and set the routing table used when adding routes.

    This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table.

    If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection.

    Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.

    Returns number

    1.10

  • set route_table(val: number): void

    Parameters

    • val: number

    Returns void

  • get routeMetric(): number

    The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.

    Returns number

  • set routeMetric(val: number): void

    Parameters

    • val: number

    Returns void

  • get routeTable(): number

    Enable policy routing (source routing) and set the routing table used when adding routes.

    This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table.

    If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection.

    Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.

    Returns number

    1.10

  • set routeTable(val: number): void

    Parameters

    • val: number

    Returns void

Methods

Methods - Inherited from NM.SettingIPConfig

  • Adds a new IP address and associated information to the setting. The given address is duplicated internally and is not changed by this function.

    Parameters

    Returns boolean

    true if the address was added; false if the address was already known.

  • Adds a new DNS server to the setting.

    Parameters

    • dns: string

      the IP address of the DNS server to add

    Returns boolean

    true if the DNS server was added; false if the server was already known Before 1.42, setting dns to an invalid string was treated as user-error. Now, also invalid DNS values can be set, but will be rejected later during nm_connection_verify().

  • Adds a new DNS option to the setting.

    Parameters

    • dns_option: string

      the DNS option to add

    Returns boolean

    true if the DNS option was added; false otherwise

  • Adds a new DNS search domain to the setting.

    Parameters

    • dns_search: string

      the search domain to add

    Returns boolean

    true if the DNS search domain was added; false if the search domain was already known

  • Appends a new route and associated information to the setting. The given route is duplicated internally and is not changed by this function. If an identical route (considering attributes as well) already exists, the route is not added and the function returns false.

    Note that before 1.10, this function would not consider route attributes and not add a route that has an existing route with same dest/prefix,next_hop,metric parameters.

    Parameters

    Returns boolean

    true if the route was added; false if the route was already known.

  • Appends a new routing-rule and associated information to the setting. The given routing rules gets sealed and the reference count is incremented. The function does not check whether an identical rule already exists and always appends the rule to the end of the list.

    Parameters

    Returns void

  • Creates a binding between source_property on source and target_property on target.

    Whenever the source_property is changed the target_property is updated using the same value. For instance:

      g_object_bind_property (action, "active", widget, "sensitive", 0);
    

    Will result in the "sensitive" property of the widget GObject.Object instance to be updated with the same value of the "active" property of the action GObject.Object instance.

    If flags contains GObject.BindingFlags.BIDIRECTIONAL then the binding will be mutual: if target_property on target changes then the source_property on source will be updated as well.

    The binding will automatically be removed when either the source or the target instances are finalized. To remove the binding without affecting the source and the target you can just call g_object_unref() on the returned GObject.Binding instance.

    Removing the binding by calling g_object_unref() on it must only be done if the binding, source and target are only used from a single thread and it is clear that both source and target outlive the binding. Especially it is not safe to rely on this if the binding, source or target can be finalized from different threads. Keep another reference to the binding and use g_binding_unbind() instead to be on the safe side.

    A GObject.Object can have multiple bindings.

    Parameters

    Returns GObject.Binding

    the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.

  • Complete version of g_object_bind_property().

    Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.

    If flags contains GObject.BindingFlags.BIDIRECTIONAL then the binding will be mutual: if target_property on target changes then the source_property on source will be updated as well. The transform_from function is only used in case of bidirectional bindings, otherwise it will be ignored

    The binding will automatically be removed when either the source or the target instances are finalized. This will release the reference that is being held on the GObject.Binding instance; if you want to hold on to the GObject.Binding instance, you will need to hold a reference to it.

    To remove the binding, call g_binding_unbind().

    A GObject.Object can have multiple bindings.

    The same user_data parameter will be used for both transform_to and transform_from transformation functions; the notify function will be called once, when the binding is removed. If you need different data for each transformation function, please use g_object_bind_property_with_closures() instead.

    Parameters

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target GObject.Object

    • target_property: string

      the property on target to bind

    • flags: GObject.BindingFlags

      flags to pass to GObject.Binding

    • Optionaltransform_to: BindingTransformFunc

      the transformation function from the source to the target, or null to use the default

    • Optionaltransform_from: BindingTransformFunc

      the transformation function from the target to the source, or null to use the default

    • Optionalnotify: DestroyNotify

      a function to call when disposing the binding, to free resources used by the transformation functions, or null if not required

    Returns GObject.Binding

    the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.

  • Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.

    This function is the language bindings friendly version of g_object_bind_property_full(), using GClosures instead of function pointers.

    Parameters

    Returns GObject.Binding

    the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.

  • Removes all configured DNS options.

    Parameters

    • is_set: boolean

      the dns-options can be either empty or unset (default). Specify how to clear the options.

    Returns void

  • Compares two NM.Setting objects for similarity, with comparison behavior modified by a set of flags. See the documentation for NM.SettingCompareFlags for a description of each flag's behavior. If the settings differ, the keys of each setting that differ from the other are added to results, mapped to one or more NM.SettingDiffResult values.

    Parameters

    • b: NM.Setting

      a second NM.Setting to compare with the first

    • flags: NM.SettingCompareFlags

      compare flags, e.g. NM.SettingCompareFlags.EXACT

    • invert_results: boolean

      this parameter is used internally by libnm and should be set to false. If true inverts the meaning of the NM.SettingDiffResult.

    • results: GLib.HashTable<string, number> | { [key: string]: any }

      if the settings differ, on return a hash table mapping the differing keys to one or more %NMSettingDiffResult values OR-ed together. If the settings do not differ, any hash table passed in is unmodified. If no hash table is passed in and the settings differ, a new one is created and returned.

    Returns [boolean, GLib.HashTable<string, number>]

    true if the settings contain the same values, false if they do not

  • Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to.

    Parameters

    • id: number

      Handler ID of the handler to be disconnected

    Returns void

  • This function is intended for GObject.Object implementations to re-enforce a [floating][floating-ref] object reference. Doing this is seldom required: all GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling g_object_ref_sink().

    Returns void

  • Increases the freeze count on object. If the freeze count is non-zero, the emission of "notify" signals on object is stopped. The signals are queued until the freeze count is decreased to zero. Duplicate notifications are squashed so that at most one GObject.Object::notify signal is emitted for each property modified while the object is frozen.

    This is necessary for accessors that modify multiple properties to prevent premature notification while the object is still being modified.

    Returns void

  • Gets a named field from the objects table of associations (see g_object_set_data()).

    Parameters

    • key: string

      name of the key for that association

    Returns any

    the data if found, or null if no such data exists.

  • Since 1.46, access at index "len" is allowed and returns NULL.

    Parameters

    • idx: number

      index number of the DNS option

    Returns string

    the DNS option at index idx

  • Since 1.46, access at index "len" is allowed and returns NULL.

    Parameters

    • idx: number

      index number of the DNS search domain to return

    Returns string

    the DNS search domain at index idx

  • Gets a property of an object.

    The value can be:

    • an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60)
    • a GObject.Value initialized with the expected type of the property
    • a GObject.Value initialized with a type to which the expected type of the property can be transformed

    In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset.

    Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming.

    Parameters

    • property_name: string

      The name of the property to get

    • value: any

      Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type

    Returns any

  • Gets n_properties properties for an object. Obtained properties will be set to values. All properties must be valid. Warnings will be emitted and undefined behaviour may result if invalid properties are passed in.

    Parameters

    • names: string[]

      the names of each property to get

    • values: any[]

      the values of each property to get

    Returns void

  • NMSettingIPConfig can have a list of dns-options. If the list is empty, there are two similar (but differentiated) states. Either the options are explicitly set to have no values, or the options are left undefined. The latter means to use a default configuration, while the former explicitly means "no-options".

    Returns boolean

    whether DNS options are initialized or left unset (the default).

  • Emits a "notify" signal for the property property_name on object.

    When possible, eg. when signaling a property change from within the class that registered the property, you should use g_object_notify_by_pspec() instead.

    Note that emission of the notify signal may be blocked with g_object_freeze_notify(). In this case, the signal emissions are queued and will be emitted (in reverse order) when g_object_thaw_notify() is called.

    Parameters

    • property_name: string

      the name of a property installed on the class of object.

    Returns void

  • Emits a "notify" signal for the property specified by pspec on object.

    This function omits the property name lookup, hence it is faster than g_object_notify().

    One way to avoid using g_object_notify() from within the class that registered the properties, and using g_object_notify_by_pspec() instead, is to store the GParamSpec used with g_object_class_install_property() inside a static array, e.g.:

      typedef enum
    {
    PROP_FOO = 1,
    PROP_LAST
    } MyObjectProperty;

    static GParamSpec *properties[PROP_LAST];

    static void
    my_object_class_init (MyObjectClass *klass)
    {
    properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL,
    0, 100,
    50,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    g_object_class_install_property (gobject_class,
    PROP_FOO,
    properties[PROP_FOO]);
    }

    and then notify a change on the "foo" property with:

      g_object_notify_by_pspec (self, properties[PROP_FOO]);
    

    Parameters

    Returns void

  • Gives the name of all set options.

    Returns string[]

    A null terminated array of key names. If no names are present, this returns null. The returned array and the names are owned by %NMSetting and might be invalidated by the next operation.

  • If variant is null, this clears the option if it is set. Otherwise, variant is set as the option. If variant is a floating reference, it will be consumed.

    Note that not all setting types support options. It is a bug setting a variant to a setting that doesn't support it. Currently, only NM.SettingEthtool supports it.

    Parameters

    • opt_name: string

      the option name to set

    • Optionalvariant: GLib.Variant<any>

      the variant to set.

    Returns void

  • Increases the reference count of object.

    Since GLib 2.56, if GLIB_VERSION_MAX_ALLOWED is 2.56 or greater, the type of object will be propagated to the return type (using the GCC typeof() extension), so any casting the caller needs to do on the return type must be explicit.

    Returns GObject.Object

    the same object

  • Increase the reference count of object, and possibly remove the [floating][floating-ref] reference, if object has a floating reference.

    In other words, if the object is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference by clearing the floating flag while leaving the reference count unchanged. If the object is not floating, then this call adds a new normal reference increasing the reference count by one.

    Since GLib 2.56, the type of object will be propagated to the return type under the same conditions as for g_object_ref().

    Returns GObject.Object

    object

  • Removes the DNS server dns.

    Parameters

    • dns: string

      the DNS server to remove

    Returns boolean

    true if the DNS server was found and removed; false if it was not. Before 1.42, setting dns to an invalid string was treated as user-error.

  • Removes the DNS search domain dns_search.

    Parameters

    • dns_search: string

      the search domain to remove

    Returns boolean

    true if the DNS search domain was found and removed; false if it was not.

  • Removes the first matching route that matches route. Note that before 1.10, this function would only compare dest/prefix,next_hop,metric and ignore route attributes. Now, route must match exactly.

    Parameters

    Returns boolean

    true if the route was found and removed; false if it was not.

  • Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values.

    Parameters

    • properties: { [key: string]: any }

      Object containing the properties to set

    Returns void

  • Each object carries around a table of associations from strings to pointers. This function lets you set an association.

    If the object already had an association with that name, the old association will be destroyed.

    Internally, the key is converted to a GLib.Quark using g_quark_from_string(). This means a copy of key is kept permanently (even after object has been finalized) — so it is recommended to only use a small, bounded set of values for key in your program, to avoid the GLib.Quark storage growing unbounded.

    Parameters

    • key: string

      name of the key

    • Optionaldata: any

      data to associate with that key

    Returns void

  • Remove a specified datum from the object's data associations, without invoking the association's destroy handler.

    Parameters

    • key: string

      name of the key

    Returns any

    the data if found, or null if no such data exists.

  • This function gets back user data pointers stored via g_object_set_qdata() and removes the data from object without invoking its destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier, for example:

    void
    object_add_to_user_list (GObject *object,
    const gchar *new_string)
    {
    // the quark, naming the object data
    GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
    // retrieve the old string list
    GList *list = g_object_steal_qdata (object, quark_string_list);

    // prepend new string
    list = g_list_prepend (list, g_strdup (new_string));
    // this changed 'list', so we need to set it again
    g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
    }
    static void
    free_string_list (gpointer data)
    {
    GList *node, *list = data;

    for (node = list; node; node = node->next)
    g_free (node->data);
    g_list_free (list);
    }

    Using g_object_get_qdata() in the above example, instead of g_object_steal_qdata() would have left the destroy function set, and thus the partial string list would have been freed upon g_object_set_qdata_full().

    Parameters

    • quark: number

      A GLib.Quark, naming the user data pointer

    Returns any

    The user data pointer set, or null

  • Stops a signal's emission by the given signal name. This will prevent the default handler and any subsequent signal handlers from being invoked.

    Parameters

    • detailedName: string

      Name of the signal to stop emission of

    Returns void

  • Reverts the effect of a previous call to g_object_freeze_notify(). The freeze count is decreased on object and when it reaches zero, queued "notify" signals are emitted.

    Duplicate notifications for each property are squashed so that at most one GObject.Object::notify signal is emitted for each property, in the reverse order in which they have been queued.

    It is an error to call this function when the freeze count is zero.

    Returns void

  • Convert the setting (including secrets!) into a string. For debugging purposes ONLY, should NOT be used for serialization of the setting, or machine-parsed in any way. The output format is not guaranteed to be stable and may change at any time.

    Returns string

    an allocated string containing a textual representation of the setting's properties and values, which the caller should free with g_free()

  • Decreases the reference count of object. When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

    If the pointer to the GObject.Object may be reused in future (for example, if it is an instance variable of another object), it is recommended to clear the pointer to null rather than retain a dangling pointer to a potentially invalid GObject.Object instance. Use g_clear_object() for this.

    Returns void

  • Validates the setting. Each setting's properties have allowed values, and some are dependent on other values (hence the need for connection). The returned GLib.Error contains information about which property of the setting failed validation, and in what way that property failed validation.

    Parameters

    • Optionalconnection: NM.Connection

      the NM.Connection that setting came from, or null if setting is being verified in isolation.

    Returns boolean

    true if the setting is valid, false if it is not

  • Verifies the secrets in the setting. The returned GLib.Error contains information about which secret of the setting failed validation, and in what way that secret failed validation. The secret validation is done separately from main setting validation, because in some cases connection failure is not desired just for the secrets.

    Parameters

    • Optionalconnection: NM.Connection

      the NM.Connection that setting came from, or null if setting is being verified in isolation.

    Returns boolean

    true if the setting secrets are valid, false if they are not

  • the constructed function is called by g_object_new() as the final step of the object creation process. At the point of the call, all construction properties have been set on the object. The purpose of this call is to allow for object initialisation steps that can only be performed after construction properties have been set. constructed implementors should chain up to the constructed call of their parent class to allow it to complete its initialisation.

    Returns void

  • the dispose function is supposed to drop all references to other objects, but keep the instance otherwise intact, so that client method invocations still work. It may be run multiple times (due to reference loops). Before returning, dispose should chain up to the dispose method of the parent class.

    Returns void

  • Emits a "notify" signal for the property property_name on object.

    When possible, eg. when signaling a property change from within the class that registered the property, you should use g_object_notify_by_pspec() instead.

    Note that emission of the notify signal may be blocked with g_object_freeze_notify(). In this case, the signal emissions are queued and will be emitted (in reverse order) when g_object_thaw_notify() is called.

    Parameters

    Returns void

  • the generic setter for all properties of this type. Should be overridden for every type with properties. If implementations of set_property don't emit property change notification explicitly, this will be done implicitly by the type system. However, if the notify signal is emitted explicitly, the type system will not emit it a second time.

    Parameters

    Returns void

  • This function essentially limits the life time of the closure to the life time of the object. That is, when the object is finalized, the closure is invalidated by calling g_closure_invalidate() on it, in order to prevent invocations of the closure with a finalized (nonexisting) object. Also, g_object_ref() and g_object_unref() are added as marshal guards to the closure, to ensure that an extra reference count is held on object during invocation of the closure. Usually, this function will be called on closures that use this object as closure data.

    Parameters

    Returns void

  • Get the type of the enum that defines the values that the property accepts. It is only useful for properties configured to accept values from certain enum type, otherwise it will return G_TYPE_INVALID. Note that flags (children of G_TYPE_FLAGS) are also considered enums.

    Note that the GObject property might be implemented as an integer, actually, and not as enum. Find out what underlying type is used, checking the GObject.ParamSpec, before setting the GObject property.

    Parameters

    • setting_type: GType

      the GType of the NMSetting instance

    • property_name: string

      the name of the property

    Returns GType

  • Add a property to an interface; this is only useful for interfaces that are added to GObject-derived types. Adding a property to an interface forces all objects classes with that interface to have a compatible property. The compatible property could be a newly created GObject.ParamSpec, but normally g_object_class_override_property() will be used so that the object class only needs to provide an implementation and inherits the property description, default value, bounds, and so forth from the interface property.

    This function is meant to be called from the interface's default vtable initialization function (the class_init member of GObject.TypeInfo.) It must not be called after after class_init has been called for any object types implementing this interface.

    If pspec is a floating reference, it will be consumed.

    Parameters

    Returns void

Interfaces

ConstructorProps
SignalSignatures