Gjsify LogoGjsify Logo

IPv6 Settings

Hierarchy

Index

Constructors

Properties

Methods

Constructors

Properties

addr_gen_mode: number

Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: %NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 or %NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY.

If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced.

The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced.

On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions.

Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.

addresses: IPAddress[]

Array of IP addresses.

dad_timeout: number

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. A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero). A value greater than zero is a timeout in milliseconds.

The property is currently implemented only for IPv4.

dhcp_duid: string

A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option.

The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id.

The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk.

The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt").

When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.

dhcp_hostname: string

If the #NMSettingIPConfig:dhcp-send-hostname property is %TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and #NMSettingIP4Config:dhcp-fqdn are mutually exclusive and cannot be set at the same time.

dhcp_hostname_flags: number

Flags for the DHCP hostname and FQDN.

Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are %NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE, %NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED and %NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE. When no FQDN flag is set and %NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and %NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS is not set, the standard FQDN flags are set in the request: %NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE, %NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED for IPv4 and %NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE for IPv6.

When this property is set to the default value %NM_DHCP_HOSTNAME_FLAG_NONE, a global default is looked up in NetworkManager configuration. If that value is unset or also %NM_DHCP_HOSTNAME_FLAG_NONE, then the standard FQDN flags described above are sent in the DHCP requests.

dhcp_iaid: string

A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "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". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.

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.

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 #NMSettingIPConfig:dhcp-hostname property is %NULL and this property is %TRUE, the current persistent hostname of the computer is sent.

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.

dns: string[]

Array of IP addresses of DNS servers.

dns_options: string[]

Array of DNS options as described in man 5 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 currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".

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.

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.

dns_search: string[]

Array 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.

g_type_instance: TypeInstance
gateway: string

The gateway associated with this configuration. This is only meaningful if #NMSettingIPConfig:addresses is also set.

The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with #NMSettingIPConfig:never-default and will be automatically dropped if the IP configuration is set to never-default.

As an alternative to set the gateway, configure a static default route with /0 as prefix length.

ignore_auto_dns: boolean

When #NMSettingIPConfig:method is set to "auto" and this property to %TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the #NMSettingIPConfig:dns and #NMSettingIPConfig:dns-search properties, if any, are used.

ignore_auto_routes: boolean

When #NMSettingIPConfig:method is set to "auto" and this property to %TRUE, automatically configured routes are ignored and only routes specified in the #NMSettingIPConfig:routes property, if any, are used.

Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64. This enhances privacy, but could cause problems in some applications, on the other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses).

Having a per-connection setting set to "-1" (unknown) means fallback to global configuration "ipv6.ip6-privacy".

If also global configuration is unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr".

Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.

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 #NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.

method: string

IP configuration method.

#NMSettingIP4Config and #NMSettingIP6Config 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 #NMSettingIPConfig:dns and #NMSettingIPConfig:routes specify information that is added on to the information returned from automatic configuration. The #NMSettingIPConfig:ignore-auto-routes and #NMSettingIPConfig: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.

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".

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.

ra_timeout: number

A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device.

Set to 2147483647 (MAXINT32) for infinity.

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 #NMSettingIPConfig: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).

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.

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.

routes: IPRoute[]

Array of IP routes.

token: string

Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.

name: string

Methods

  • add_dhcp_reject_server(server: string): void
  • add_dns(dns: string): boolean
  • add_dns_option(dns_option: string): boolean
  • add_dns_search(dns_search: string): boolean
  • 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

  • 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

    • routing_rule: IPRoutingRule

      the #NMIPRoutingRule to add. The address family of the added rule must be compatible with the setting.

    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 instance to be updated with the same value of the "active" property of the action #GObject instance.

    If flags contains %G_BINDING_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 #GBinding 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 can have multiple bindings.

    Parameters

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target #GObject

    • target_property: string

      the property on target to bind

    • flags: BindingFlags

      flags to pass to #GBinding

    Returns Binding

  • 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

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target #GObject

    • target_property: string

      the property on target to bind

    • flags: BindingFlags

      flags to pass to #GBinding

    • transform_to: TClosure<any, any>

      a #GClosure wrapping the transformation function from the source to the target, or %NULL to use the default

    • transform_from: TClosure<any, any>

      a #GClosure wrapping the transformation function from the target to the source, or %NULL to use the default

    Returns Binding

  • clear_addresses(): void
  • clear_dhcp_reject_servers(): void
  • clear_dns(): void
  • clear_dns_options(is_set: boolean): void
  • clear_dns_searches(): void
  • clear_routes(): void
  • clear_routing_rules(): void
  • Compares two #NMSetting objects for similarity, with comparison behavior modified by a set of flags. See the documentation for #NMSettingCompareFlags for a description of each flag's behavior.

    Parameters

    Returns boolean

  • Compares two #NMSetting objects for similarity, with comparison behavior modified by a set of flags. See the documentation for #NMSettingCompareFlags 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 #NMSettingDiffResult values.

    Parameters

    • b: NM.Setting

      a second #NMSetting to compare with the first

    • flags: NM.SettingCompareFlags

      compare flags, e.g. %NM_SETTING_COMPARE_FLAG_EXACT

    • invert_results: boolean

      this parameter is used internally by libnm and should be set to %FALSE. If %TRUE inverts the meaning of the #NMSettingDiffResult.

    • results: HashTable<string | number | symbol, string | number | boolean>

      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, HashTable<string | number | symbol, string | number | boolean>]

  • disconnect(id: number): void
  • emit(sigName: "notify::addr-gen-mode", ...args: any[]): void
  • emit(sigName: "notify::dhcp-duid", ...args: any[]): void
  • emit(sigName: "notify::ip6-privacy", ...args: any[]): void
  • emit(sigName: "notify::ra-timeout", ...args: any[]): void
  • emit(sigName: "notify::token", ...args: any[]): void
  • emit(sigName: "notify::addresses", ...args: any[]): void
  • emit(sigName: "notify::dad-timeout", ...args: any[]): void
  • emit(sigName: "notify::dhcp-hostname", ...args: any[]): void
  • emit(sigName: "notify::dhcp-hostname-flags", ...args: any[]): void
  • emit(sigName: "notify::dhcp-iaid", ...args: any[]): void
  • emit(sigName: "notify::dhcp-reject-servers", ...args: any[]): void
  • emit(sigName: "notify::dhcp-send-hostname", ...args: any[]): void
  • emit(sigName: "notify::dhcp-timeout", ...args: any[]): void
  • emit(sigName: "notify::dns", ...args: any[]): void
  • emit(sigName: "notify::dns-options", ...args: any[]): void
  • emit(sigName: "notify::dns-priority", ...args: any[]): void
  • emit(sigName: "notify::dns-search", ...args: any[]): void
  • emit(sigName: "notify::gateway", ...args: any[]): void
  • emit(sigName: "notify::ignore-auto-dns", ...args: any[]): void
  • emit(sigName: "notify::ignore-auto-routes", ...args: any[]): void
  • emit(sigName: "notify::may-fail", ...args: any[]): void
  • emit(sigName: "notify::method", ...args: any[]): void
  • emit(sigName: "notify::never-default", ...args: any[]): void
  • emit(sigName: "notify::required-timeout", ...args: any[]): void
  • emit(sigName: "notify::route-metric", ...args: any[]): void
  • emit(sigName: "notify::route-table", ...args: any[]): void
  • emit(sigName: "notify::routes", ...args: any[]): void
  • emit(sigName: "notify::name", ...args: any[]): void
  • emit(sigName: string, ...args: any[]): void
  • force_floating(): void
  • This function is intended for #GObject 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

  • freeze_notify(): 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::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

  • get_dad_timeout(): number
  • get_data(key?: string): object
  • get_dbus_property_type(property_name: string): VariantType
  • get_dhcp_duid(): string
  • get_dhcp_hostname(): string
  • get_dhcp_iaid(): string
  • get_dhcp_reject_servers(): string[]
  • get_dhcp_send_hostname(): boolean
  • get_dhcp_timeout(): number
  • get_dns(idx: number): string
  • get_dns_option(idx: number): string
  • get_dns_priority(): number
  • get_dns_search(idx: number): string
  • get_gateway(): string
  • get_ignore_auto_dns(): boolean
  • get_ignore_auto_routes(): boolean
  • get_may_fail(): boolean
  • get_method(): string
  • get_name(): string
  • get_never_default(): boolean
  • get_num_addresses(): number
  • get_num_dns(): number
  • get_num_dns_options(): number
  • get_num_dns_searches(): number
  • get_num_routes(): number
  • get_num_routing_rules(): number
  • get_property(property_name?: string, value?: any): void
  • Gets a property of an object.

    The value can be:

    • an empty #GValue initialized by %G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60)
    • a #GValue initialized with the expected type of the property
    • a #GValue 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 g_value_unset().

    Note that g_object_get_property() is really intended for language bindings, g_object_get() is much more convenient for C programming.

    Parameters

    • Optional property_name: string

      the name of the property to get

    • Optional value: any

      return location for the property value

    Returns void

  • get_qdata(quark: number): object
  • get_ra_timeout(): number
  • get_required_timeout(): number
  • get_route_metric(): number
  • get_route_table(): number
  • get_token(): string
  • getv(names: string[], values: any[]): void
  • 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

  • has_dns_options(): boolean
  • 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

  • is_floating(): boolean
  • notify(property_name: string): 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

    • 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.:

      enum
    {
    PROP_0,
    PROP_FOO,
    PROP_LAST
    };

    static GParamSpec *properties[PROP_LAST];

    static void
    my_object_class_init (MyObjectClass *klass)
    {
    properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
    0, 100,
    50,
    G_PARAM_READWRITE);
    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

    • pspec: ParamSpec

      the #GParamSpec of a property installed on the class of object.

    Returns void

  • option_get_all_names(): string[]
  • option_get_boolean(opt_name: string): [boolean, boolean]
  • option_get_uint32(opt_name: string): [boolean, number]
  • option_set(opt_name: string, variant: GLib.Variant): void
  • 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 #NMSettingEthtool supports it.

    Parameters

    • opt_name: string

      the option name to set

    • variant: GLib.Variant

      the variant to set.

    Returns void

  • option_set_boolean(opt_name: string, value: boolean): void
  • option_set_uint32(opt_name: string, value: number): 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

  • 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

  • remove_address(idx: number): void
  • remove_address_by_value(address: IPAddress): boolean
  • remove_dhcp_reject_server(idx: number): void
  • remove_dns(idx: number): void
  • remove_dns_by_value(dns: string): boolean
  • remove_dns_option(idx: number): void
  • remove_dns_option_by_value(dns_option: string): boolean
  • remove_dns_search(idx: number): void
  • remove_dns_search_by_value(dns_search: string): boolean
  • remove_route(idx: number): void
  • remove_route_by_value(route: IPRoute): boolean
  • remove_routing_rule(idx: number): void
  • run_dispose(): void
  • set_data(key: string, data?: object): 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 #GQuark 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 #GQuark storage growing unbounded.

    Parameters

    • key: string

      name of the key

    • Optional data: object

      data to associate with that key

    Returns void

  • set_property(property_name: string, value?: any): void
  • steal_data(key?: string): object
  • steal_qdata(quark: number): object
  • 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 #GQuark, naming the user data pointer

    Returns object

  • thaw_notify(): 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::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

  • to_string(): string
  • 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

  • unref(): void
  • 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 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 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 #GError contains information about which property of the setting failed validation, and in what way that property failed validation.

    Parameters

    • connection: NM.Connection

      the #NMConnection that setting came from, or %NULL if setting is being verified in isolation.

    Returns boolean

  • Verifies the secrets in the setting. The returned #GError 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

    • connection: NM.Connection

      the #NMConnection that setting came from, or %NULL if setting is being verified in isolation.

    Returns boolean

  • vfunc_constructed(): void
  • vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: ParamSpec): void
  • vfunc_dispose(): void
  • vfunc_finalize(): void
  • vfunc_get_property(property_id: number, value?: any, pspec?: ParamSpec): 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.

    virtual

    Parameters

    Returns void

  • vfunc_set_property(property_id: number, value?: any, pspec?: ParamSpec): void
  • watch_closure(closure: TClosure<any, any>): 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

    • closure: TClosure<any, any>

      #GClosure to watch

    Returns void

  • compat_control(what: number, data: object): number
  • Find the #GParamSpec with the given name for an interface. Generally, the interface vtable passed in as g_iface will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

    Parameters

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface

    • property_name: string

      name of a property to look up.

    Returns ParamSpec

  • 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 #GParamSpec, 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 #GTypeInfo.) 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

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface.

    • pspec: ParamSpec

      the #GParamSpec for the new property

    Returns void

  • Lists the properties of an interface.Generally, the interface vtable passed in as g_iface will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

    Parameters

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface

    Returns ParamSpec[]

  • lookup_type(name: string): GType<unknown>
  • Creates a new instance of a #GObject subtype and sets its properties.

    Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values.

    Parameters

    • object_type: GType<unknown>

      the type id of the #GObject subtype to instantiate

    • parameters: GObject.Parameter[]

      an array of #GParameter

    Returns GObject.Object

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method