From a54ac63bbf9b2c71026ac9028a8ffaf186cf3c82 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sun, 28 Jun 2020 18:58:14 +0200 Subject: New upstream version 1.25.90 --- libnm/generate-plugin-docs.pl | 163 ----------- libnm/generate-setting-docs.py | 268 ------------------ libnm/libnm.ver | 46 ++++ libnm/meson.build | 95 ++++--- libnm/nm-client.c | 4 +- libnm/nm-device.c | 45 +++ libnm/nm-device.h | 3 + libnm/nm-libnm-aux/README.md | 15 + libnm/nm-libnm-aux/nm-libnm-aux.c | 146 ++++++++++ libnm/nm-libnm-aux/nm-libnm-aux.h | 24 ++ libnm/nm-libnm-utils.c | 2 +- libnm/nm-property-docs.xml | 500 ---------------------------------- libnm/nm-property-infos-dbus.xml | 204 ++++++++++++++ libnm/nm-property-infos-ifcfg-rh.xml | 428 +++++++++++++++++++++++++++++ libnm/nm-property-infos-keyfile.xml | 139 ++++++++++ libnm/nm-property-infos-nmcli.xml | 98 +++++++ libnm/nm-settings-docs-gir.xml | 513 +++++++++++++++++++++++++++++++++++ libnm/nm-settings-docs-overrides.xml | 208 -------------- libnm/nm-settings-docs.xml | 512 ---------------------------------- libnm/nm-settings-ifcfg-rh-docs.xml | 420 ---------------------------- libnm/nm-settings-keyfile-docs.xml | 143 ---------- 21 files changed, 1720 insertions(+), 2256 deletions(-) delete mode 100755 libnm/generate-plugin-docs.pl delete mode 100755 libnm/generate-setting-docs.py create mode 100644 libnm/nm-libnm-aux/README.md create mode 100644 libnm/nm-libnm-aux/nm-libnm-aux.c create mode 100644 libnm/nm-libnm-aux/nm-libnm-aux.h delete mode 100644 libnm/nm-property-docs.xml create mode 100644 libnm/nm-property-infos-dbus.xml create mode 100644 libnm/nm-property-infos-ifcfg-rh.xml create mode 100644 libnm/nm-property-infos-keyfile.xml create mode 100644 libnm/nm-property-infos-nmcli.xml create mode 100644 libnm/nm-settings-docs-gir.xml delete mode 100644 libnm/nm-settings-docs-overrides.xml delete mode 100644 libnm/nm-settings-docs.xml delete mode 100644 libnm/nm-settings-ifcfg-rh-docs.xml delete mode 100644 libnm/nm-settings-keyfile-docs.xml (limited to 'libnm') diff --git a/libnm/generate-plugin-docs.pl b/libnm/generate-plugin-docs.pl deleted file mode 100755 index 540ecb6e..00000000 --- a/libnm/generate-plugin-docs.pl +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/env perl -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright (C) 2014 Red Hat, Inc. -# - -# -# The script parses nm-setting-*.c files and extracts documentation related -# to setting plugins. The documentation is in a simple format of lines -# "keyword: value". The documentation is enclosed between tags -# ------ and ---end--- -# Recognized keywords are: -# "property: " - property name -# "variable: " - name of the variable used by the plugin -# "format: " - format of the value in 'keyfile' plugin -# "default: " - default value when variable is not used -# "values: " - allowed values (e.g. for enumerations) -# "example: " - example(s) -# "description: " - description text -# Value is an arbitrary string that can span over multiple lines. -# -# ifcfg-rh specifics: -# - mark NM extension variables with (+), e.g. variable: UUID(+) -# - -use strict; -use warnings; -use v5.10; - -# global variables -my @keywords = ("property", "variable", "format", "values", "default", "example", "description"); -my @data; -my $fo; - -(scalar @ARGV >= 3) or die "Usage: $0 \n"; -my ($plugin, $output, (@source_files)) = @ARGV; -my $start_tag = "---$plugin---\\s*\$"; -my $end_tag = '---end---'; - -# open output file -open $fo, '>', $output or die "Can't open $output: $!"; - -# write XML header -write_header(); - -# write generated documentation for each setting -foreach my $c_file (@source_files) { - my $setting_name = get_setting_name($c_file); - if ($setting_name) { - write_item(""); - scan_doc_comments($c_file, $start_tag, $end_tag); - write_item(""); - } -} - -# write XML footer -write_footer(); - -# close output file -close $fo; - - -### --- subroutines --- ### - -# get setting name from NM_SETTING_*_SETTING_NAME constant in C header file -sub get_setting_name { - my $path = $_[0]; - $path =~ s/c$/h/; # use header file to find out setting name - open my $fh, '<', $path or die "Can't open $path: $!"; - while (my $line = <$fh>) { - if ($line =~ /NM_SETTING_.+SETTING_NAME\s+\"(\S+)\"/) { - return $1; - } - } -} - -# scan source setting file for documentation tags and write them to XML -sub scan_doc_comments { - my($setting_file, $start, $end) = @_; - open my $fi, '<', $setting_file or die "Can't open $setting_file: $!"; - while (<$fi>) { - if (/$start/ .. /$end/) { - next if /$start/; - if (/$end/) { - process_data(); - } else { - push @data, $_; - } - next; - } - # ignore text not inside marks - } - close $fi; -} - -# process plugin property documentation comments -sub process_data { - return if not @data; - my $kwd_pat = join("|", @keywords); - my %parsed_data; - my $this_key; - - foreach (@data) { - if (/^\s*\**\s+($kwd_pat):\s+(.*?)\s*$/) { - $this_key = $1; - $parsed_data{$this_key} = "$2\n"; - } elsif (/^\s*\**\s+(.*?)\s*$/) { - die "Extra mess in a comment: $_" unless $this_key; - $parsed_data{$this_key} .= "$1\n"; - } - } - - # now write a line into the XML - my $name = $parsed_data{property} // ""; - my $var = $parsed_data{variable} // $name; # fallback to "property: " - my $format = $parsed_data{format} // ""; - my $values = $parsed_data{values} // ""; - my $def = $parsed_data{default} // ""; - my $exam = $parsed_data{example} // ""; - my $desc = $parsed_data{description} // ""; - - chomp($name, $var, $format, $values, $def, $exam, $desc); - escape_xml_chars($name, $var, $format, $values, $def, $exam, $desc); - my $foo = sprintf("", - $name, $var, $format, $values, $def, $exam, $desc); - write_item($foo); - @data = (); -} - -# - XML handling - -sub write_header { - (my $header = - qq{ - - - - }) =~ s/^ {7}//mg; - print {$fo} $header; -} - -sub write_footer { - my $footer = ""; - print {$fo} $footer; -} - -sub write_item { - my $str = join("", @_); - print {$fo} $str, "\n"; -} - -sub escape_xml_chars { - # http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined%5Fentities%5Fin%5FXML - foreach my $val (@_) { - $val =~ s/&/&/sg; - $val =~ s//>/sg; - $val =~ s/"/"/sg; - $val =~ s/'/'/sg; - } -} - diff --git a/libnm/generate-setting-docs.py b/libnm/generate-setting-docs.py deleted file mode 100755 index 025689ea..00000000 --- a/libnm/generate-setting-docs.py +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/bin/env python -# SPDX-License-Identifier: LGPL-2.1+ -# -# Copyright (C) 2009 - 2017 Red Hat, Inc. -# - -from __future__ import print_function - -import os -import gi -gi.require_version('GIRepository', '2.0') -from gi.repository import GIRepository -import argparse, datetime, re, sys -import xml.etree.ElementTree as ET - -try: - libs = os.environ['LD_LIBRARY_PATH'].split(':') - libs.reverse() - for lib in libs: - GIRepository.Repository.prepend_library_path(lib) -except AttributeError: - # An old GI version, that has no prepend_library_path - # It's alright, it probably interprets LD_LIBRARY_PATH - # correctly. - pass -except KeyError: - pass - -gi.require_version('NM', '1.0') -from gi.repository import NM, GObject - -dbus_type_name_map = { - 'b': 'boolean', - 's': 'string', - 'i': 'int32', - 'u': 'uint32', - 't': 'uint64', - 'x': 'int64', - 'y': 'byte', - 'as': 'array of string', - 'au': 'array of uint32', - 'ay': 'byte array', - 'a{ss}': 'dict of string to string', - 'a{sv}': 'vardict', - 'aa{sv}': 'array of vardict', - 'aau': 'array of array of uint32', - 'aay': 'array of byte array', - 'a(ayuay)': 'array of legacy IPv6 address struct', - 'a(ayuayu)': 'array of legacy IPv6 route struct', - 'aa{sv}': 'array of vardict', -} - -ns_map = { - 'c': 'http://www.gtk.org/introspection/c/1.0', - 'gi': 'http://www.gtk.org/introspection/core/1.0', - 'glib': 'http://www.gtk.org/introspection/glib/1.0' -} -identifier_key = '{%s}identifier' % ns_map['c'] -nick_key = '{%s}nick' % ns_map['glib'] -symbol_prefix_key = '{%s}symbol-prefix' % ns_map['c'] - -constants = { - 'TRUE': 'TRUE', - 'FALSE': 'FALSE', - 'G_MAXUINT32': 'G_MAXUINT32', - 'NULL': 'NULL' } -setting_names = {} - -def get_setting_name_define(setting): - n = setting.attrib[symbol_prefix_key] - if n and n.startswith("setting_"): - return n[8:].upper() - raise Exception("Unexpected symbol_prefix_key \"%s\"" % (n)) - -def init_constants(girxml, settings): - for const in girxml.findall('./gi:namespace/gi:constant', ns_map): - cname = const.attrib['{%s}type' % ns_map['c']] - cvalue = const.attrib['value'] - if const.find('./gi:type[@name="utf8"]', ns_map) is not None: - cvalue = '"%s"' % cvalue - constants[cname] = cvalue - - for enum in girxml.findall('./gi:namespace/gi:enumeration', ns_map): - for enumval in enum.findall('./gi:member', ns_map): - cname = enumval.attrib[identifier_key] - cvalue = '%s (%s)' % (cname, enumval.attrib['value']) - constants[cname] = cvalue - - for enum in girxml.findall('./gi:namespace/gi:bitfield', ns_map): - for enumval in enum.findall('./gi:member', ns_map): - cname = enumval.attrib[identifier_key] - cvalue = '%s (0x%x)' % (cname, int(enumval.attrib['value'])) - constants[cname] = cvalue - - for setting in settings: - setting_type_name = 'NM' + setting.attrib['name']; - setting_name_symbol = 'NM_SETTING_' + get_setting_name_define(setting) + '_SETTING_NAME' - if setting_name_symbol in constants: - setting_name = constants[setting_name_symbol] - setting_names[setting_type_name] = setting_name - -def get_prop_type(setting, pspec): - dbus_type = setting.get_dbus_property_type(pspec.name).dup_string() - prop_type = dbus_type_name_map[dbus_type] - - if GObject.type_is_a(pspec.value_type, GObject.TYPE_ENUM) or GObject.type_is_a(pspec.value_type, GObject.TYPE_FLAGS): - prop_type = "%s (%s)" % (pspec.value_type.name, prop_type) - - return prop_type - -def get_docs(propxml): - doc_xml = propxml.find('gi:doc', ns_map) - if doc_xml is None: - return None - - doc = doc_xml.text - if 'deprecated' in propxml.attrib: - doc = doc + ' Deprecated: ' + propxml.attrib['deprecated'] - - doc = re.sub(r'\n\s*', r' ', doc) - - # Expand constants - doc = re.sub(r'%([^%]\w*)', lambda match: constants[match.group(1)], doc) - - # #NMSettingWired:mac-address -> "mac-address" - doc = re.sub(r'#[A-Za-z0-9_]*:([A-Za-z0-9_-]*)', r'"\1"', doc) - - # #NMSettingWired setting -> "802-3-ethernet" setting - doc = re.sub(r'#([A-Z]\w*) setting', lambda match: setting_names[match.group(1)] + ' setting', doc) - - # remaining gtk-doc cleanup - doc = doc.replace('%%', '%') - doc = doc.replace('', '') - doc = re.sub(r' Element-.ype:.*', '', doc) - doc = re.sub(r'#([A-Z]\w*)', r'\1', doc) - - # Remove sentences that refer to functions - doc = re.sub(r'\.\s+[^.]*\w\(\)[^.]*\.', r'.', doc) - - return doc - -def get_default_value(setting, pspec, propxml): - default_value = setting.get_property(pspec.name.replace('-', '_')) - if default_value is None: - return default_value - - value_type = get_prop_type(setting, pspec) - if value_type == 'string' and default_value != '' and pspec.name != 'name': - default_value = '"%s"' % default_value - elif value_type == 'boolean': - default_value = str(default_value).upper() - elif value_type == 'byte array': - default_value = '[]' - elif str(default_value).startswith('<'): - default_value = None - elif str(default_value).startswith('['): - default_value = None - - return default_value - -def settings_sort_key(x): - x_prefix = x.attrib['{%s}symbol-prefix' % ns_map['c']] - # always sort NMSettingConnection first - return (x_prefix != "setting_connection", x_prefix); - -def escape(val): - return str(val).replace('"', '"') - -def usage(): - print("Usage: %s --gir FILE --output FILE" % sys.argv[0]) - exit() - -parser = argparse.ArgumentParser() -parser.add_argument('-l', '--lib-path', metavar='PATH', action='append', help='path to scan for shared libraries') -parser.add_argument('-g', '--gir', metavar='FILE', help='NM-1.0.gir file') -parser.add_argument('-x', '--overrides', metavar='FILE', help='documentation overrides file') -parser.add_argument('-o', '--output', metavar='FILE', help='output file') - -args = parser.parse_args() -if args.gir is None or args.output is None: - usage() - -if args.lib_path: - for lib in args.lib_path: - GIRepository.Repository.prepend_library_path(lib) - -girxml = ET.parse(args.gir).getroot() -outfile = open(args.output, mode='w') - -basexml = girxml.find('./gi:namespace/gi:class[@name="Setting"]', ns_map) -settings = girxml.findall('./gi:namespace/gi:class[@parent="Setting"]', ns_map) -# Hack. Need a better way to do this -ipxml = girxml.find('./gi:namespace/gi:class[@name="SettingIPConfig"]', ns_map) -settings.extend(girxml.findall('./gi:namespace/gi:class[@parent="SettingIPConfig"]', ns_map)) -settings = sorted(settings, key=settings_sort_key) - -init_constants(girxml, settings) - -if args.overrides is not None: - overrides = ET.parse(args.overrides).getroot() - -outfile.write(""" - -]> - -""") - -for settingxml in settings: - if 'abstract' in settingxml.attrib: - continue - - new_func = NM.__getattr__(settingxml.attrib['name']) - setting = new_func() - - class_desc = get_docs(settingxml) - if class_desc is None: - raise Exception("%s needs a gtk-doc block with one-line description" % setting.props.name) - outfile.write(" \n" % (setting.props.name, class_desc, get_setting_name_define (settingxml))) - - setting_properties = { prop.name: prop for prop in GObject.list_properties(setting) if prop.name != 'name' } - if args.overrides is None: - setting_overrides = {} - else: - setting_overrides = { override.attrib['name']: override for override in overrides.findall('./setting[@name="%s"]/property' % setting.props.name) } - - properties = sorted(set.union(set(setting_properties.keys()), set(setting_overrides.keys()))) - - for prop in properties: - value_type = None - value_desc = None - default_value = None - - if prop in setting_properties: - pspec = setting_properties[prop] - propxml = settingxml.find('./gi:property[@name="%s"]' % pspec.name, ns_map) - if propxml is None: - propxml = basexml.find('./gi:property[@name="%s"]' % pspec.name, ns_map) - if propxml is None: - propxml = ipxml.find('./gi:property[@name="%s"]' % pspec.name, ns_map) - - value_type = get_prop_type(setting, pspec) - value_desc = get_docs(propxml) - default_value = get_default_value(setting, pspec, propxml) - - if prop in setting_overrides: - override = setting_overrides[prop] - if override.attrib['format'] != '': - value_type = override.attrib['format'] - if override.attrib['description'] != '': - value_desc = override.attrib['description'] - - prop_upper = prop.upper().replace('-', '_') - - if value_desc is None: - raise Exception("%s.%s needs a documentation description" % (setting.props.name, prop)) - - if default_value is not None: - outfile.write(" \n" % - (prop, prop_upper, value_type, escape(default_value), escape(value_desc))) - else: - outfile.write(" \n" % - (prop, prop_upper, value_type, escape(value_desc))) - - outfile.write(" \n") - -outfile.write("\n") -outfile.close() diff --git a/libnm/libnm.ver b/libnm/libnm.ver index b5ce8c34..44437435 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -1695,3 +1695,49 @@ global: nm_setting_vrf_get_type; nm_setting_vrf_new; } libnm_1_22_8; + +libnm_1_26_0 { +global: + nm_device_get_path; + nm_ethtool_optname_is_coalesce; + nm_ethtool_optname_is_ring; + nm_setting_bridge_get_multicast_hash_max; + nm_setting_bridge_get_multicast_last_member_count; + nm_setting_bridge_get_multicast_last_member_interval; + nm_setting_bridge_get_multicast_membership_interval; + nm_setting_bridge_get_multicast_querier_interval; + nm_setting_bridge_get_multicast_query_interval; + nm_setting_bridge_get_multicast_query_response_interval; + nm_setting_bridge_get_multicast_startup_query_count; + nm_setting_bridge_get_multicast_startup_query_interval; + nm_setting_connection_get_mud_url; + nm_setting_match_add_driver; + nm_setting_match_add_kernel_command_line; + nm_setting_match_add_path; + nm_setting_match_clear_drivers; + nm_setting_match_clear_kernel_command_lines; + nm_setting_match_clear_paths; + nm_setting_match_get_driver; + nm_setting_match_get_drivers; + nm_setting_match_get_kernel_command_line; + nm_setting_match_get_kernel_command_lines; + nm_setting_match_get_num_drivers; + nm_setting_match_get_num_kernel_command_lines; + nm_setting_match_get_num_paths; + nm_setting_match_get_path; + nm_setting_match_get_paths; + nm_setting_match_remove_driver; + nm_setting_match_remove_driver_by_value; + nm_setting_match_remove_kernel_command_line; + nm_setting_match_remove_kernel_command_line_by_value; + nm_setting_match_remove_path; + nm_setting_match_remove_path_by_value; + nm_setting_option_clear_by_name; + nm_setting_option_get; + nm_setting_option_get_all_names; + nm_setting_option_get_boolean; + nm_setting_option_get_uint32; + nm_setting_option_set; + nm_setting_option_set_boolean; + nm_setting_option_set_uint32; +} libnm_1_24_0; diff --git a/libnm/meson.build b/libnm/meson.build index 406766c7..d3991ab1 100644 --- a/libnm/meson.build +++ b/libnm/meson.build @@ -212,35 +212,52 @@ if enable_introspection install: true, ) - generate_plugin_docs = join_paths(meson.current_source_dir(), 'generate-plugin-docs.pl') - - name = 'nm-settings-keyfile-docs.xml' - nm_settings_keyfile_docs = custom_target( - name, - input: libnm_core_settings_sources, - output: name, - command: [perl, generate_plugin_docs, 'keyfile', '@OUTPUT@', '@INPUT@'], - ) - - name = 'nm-settings-docs-overrides.xml' - nm_settings_docs_overrides = custom_target( - name, - input: libnm_core_settings_sources, - output: name, - command: [perl, generate_plugin_docs, 'dbus', '@OUTPUT@', '@INPUT@'], - ) - + infos = [ 'dbus', 'nmcli', 'keyfile' ] if enable_ifcfg_rh - name = 'nm-settings-ifcfg-rh-docs.xml' - nm_settings_ifcfg_rh_docs = custom_target( - name, + infos += [ 'ifcfg-rh' ] + endif + foreach info: infos + t = custom_target( + 'nm-propery-infos-' + info + '.xml', input: libnm_core_settings_sources, - output: name, - command: [perl, generate_plugin_docs, 'ifcfg-rh', '@OUTPUT@', '@INPUT@'], + output: 'nm-propery-infos-' + info + '.xml', + command: [ + perl, + join_paths(meson.source_root(), 'tools', 'generate-docs-nm-property-infos.pl'), + info, + '@OUTPUT@', + '@INPUT@' + ], ) - endif - generate_setting_docs = join_paths(meson.current_source_dir(), 'generate-setting-docs.py') + # meson 0.47 doesn't support non-static keys for dicts + # nor extending dicts incrementally. Workaround. + if info == 'dbus' + nm_property_infos_xml_dbus = t + elif info == 'keyfile' + nm_property_infos_xml_keyfile = t + elif info == 'ifcfg-rh' + nm_property_infos_xml_ifcfg_rh = t + elif info == 'nmcli' + nm_property_infos_xml_nmcli = t + else + assert(false) + endif + endforeach + if enable_ifcfg_rh + nm_property_infos_xml = { + 'dbus': nm_property_infos_xml_dbus, + 'keyfile': nm_property_infos_xml_keyfile, + 'nmcli': nm_property_infos_xml_nmcli, + 'ifcfg-rh': nm_property_infos_xml_ifcfg_rh, + } + else + nm_property_infos_xml = { + 'dbus': nm_property_infos_xml_dbus, + 'keyfile': nm_property_infos_xml_keyfile, + 'nmcli': nm_property_infos_xml_nmcli, + } + endif gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH').stdout() if gi_typelib_path != '' @@ -260,23 +277,21 @@ if enable_introspection 'LD_LIBRARY_PATH=' + ld_library_path, ] - name = 'nm-property-docs.xml' - nm_property_docs = custom_target( - name, + nm_settings_docs_xml_gir = custom_target( + 'nm-settings-docs-gir.xml', input: libnm_gir[0], - output: name, - command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--output', '@OUTPUT@'], + output: 'nm-settings-docs-gir.xml', + command: [ + generate_setting_docs_env, + python.path(), + join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-gir.py'), + '--lib-path', meson.current_build_dir(), + '--gir', '@INPUT@', + '--output', '@OUTPUT@' + ], depends: libnm_gir, ) - name = 'nm-settings-docs.xml' - nm_settings_docs = custom_target( - name, - input: [libnm_gir[0], nm_settings_docs_overrides], - output: name, - command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT0@', '--overrides', '@INPUT1@', '--output', '@OUTPUT@'], - depends: libnm_gir, - ) endif if enable_tests @@ -285,7 +300,9 @@ endif libnm_libnm_aux = static_library( 'nm-libnm-aux', - sources: nm_libnm_aux_source, + sources: files( + 'nm-libnm-aux/nm-libnm-aux.c', + ), c_args: [ '-DG_LOG_DOMAIN="@0@"'.format('libnmc'), '-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_CLIENT', diff --git a/libnm/nm-client.c b/libnm/nm-client.c index ed8b69ca..604a510d 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -6738,9 +6738,9 @@ nm_client_dbus_call_finish (NMClient *client, * nm_client_dbus_set_property: * @client: the #NMClient * @object_path: path of remote object - * @interface_name: D-Bus interface to invoke method on + * @interface_name: D-Bus interface for the property to set. * @property_name: the name of the property to set - * @value: a #GVariant tuple with the value to set + * @value: a #GVariant with the value to set. * @timeout_msec: the timeout in milliseconds, -1 to use the default * timeout or %G_MAXINT for no timeout * @cancellable: (nullable): a #GCancellable or %NULL diff --git a/libnm/nm-device.c b/libnm/nm-device.c index aa8974f6..daa23c76 100644 --- a/libnm/nm-device.c +++ b/libnm/nm-device.c @@ -32,6 +32,7 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMDevice, PROP_INTERFACE, PROP_UDI, + PROP_PATH, PROP_DRIVER, PROP_DRIVER_VERSION, PROP_FIRMWARE_VERSION, @@ -92,6 +93,7 @@ typedef struct _NMDevicePrivate { char *firmware_version; char *physical_port_id; char *udi; + char *path; guint32 capabilities; guint32 device_type; guint32 ip4_connectivity; @@ -334,6 +336,7 @@ finalize (GObject *object) g_free (priv->interface); g_free (priv->ip_interface); g_free (priv->udi); + g_free (priv->path); g_free (priv->driver); g_free (priv->driver_version); g_free (priv->firmware_version); @@ -366,6 +369,9 @@ get_property (GObject *object, case PROP_UDI: g_value_set_string (value, nm_device_get_udi (device)); break; + case PROP_PATH: + g_value_set_string (value, nm_device_get_path (device)); + break; case PROP_INTERFACE: g_value_set_string (value, nm_device_get_iface (device)); break; @@ -523,6 +529,7 @@ const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device = NML_DBUS_META_IFACE_INIT NML_DBUS_META_PROPERTY_INIT_U ("Metered", PROP_METERED, NMDevicePrivate, metered ), NML_DBUS_META_PROPERTY_INIT_U ("Mtu", PROP_MTU, NMDevicePrivate, mtu ), NML_DBUS_META_PROPERTY_INIT_B ("NmPluginMissing", PROP_NM_PLUGIN_MISSING, NMDevicePrivate, nm_plugin_missing ), + NML_DBUS_META_PROPERTY_INIT_S ("Path", PROP_PATH, NMDevicePrivate, path ), NML_DBUS_META_PROPERTY_INIT_S ("PhysicalPortId", PROP_PHYSICAL_PORT_ID, NMDevicePrivate, physical_port_id ), NML_DBUS_META_PROPERTY_INIT_B ("Real", PROP_REAL, NMDevicePrivate, real ), NML_DBUS_META_PROPERTY_INIT_IGNORE ("State", "u" ), @@ -603,6 +610,23 @@ nm_device_class_init (NMDeviceClass *klass) G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * NMDevice:path: + * + * The device path as exposed by the udev property ID_PATH. + * + * The string is backslash escaped (C escaping) for invalid + * characters. The escaping can be reverted with g_strcompress(), + * however the result may not be valid UTF-8. + * + * Since: 1.26 + **/ + obj_properties[PROP_PATH] = + g_param_spec_string (NM_DEVICE_PATH, "", "", + NULL, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS); + /** * NMDevice:driver: * @@ -1014,6 +1038,27 @@ nm_device_get_udi (NMDevice *device) return _nml_coerce_property_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->udi); } +/** + * nm_device_get_path: + * @device: a #NMDevice + * + * Gets the path of the #NMDevice as exposed by the udev property ID_PATH. + * + * Returns: the path of the device. + * + * The string is backslash escaped (C escaping) for invalid characters. The escaping + * can be reverted with g_strcompress(), however the result may not be valid UTF-8. + * + * Since: 1.26 + **/ +const char * +nm_device_get_path (NMDevice *device) +{ + g_return_val_if_fail (NM_IS_DEVICE (device), NULL); + + return _nml_coerce_property_str_not_empty (NM_DEVICE_GET_PRIVATE (device)->path); +} + /** * nm_device_get_driver: * @device: a #NMDevice diff --git a/libnm/nm-device.h b/libnm/nm-device.h index ca359b08..c377851b 100644 --- a/libnm/nm-device.h +++ b/libnm/nm-device.h @@ -24,6 +24,7 @@ G_BEGIN_DECLS #define NM_DEVICE_DEVICE_TYPE "device-type" #define NM_DEVICE_UDI "udi" +#define NM_DEVICE_PATH "path" #define NM_DEVICE_INTERFACE "interface" #define NM_DEVICE_IP_INTERFACE "ip-interface" #define NM_DEVICE_DRIVER "driver" @@ -70,6 +71,8 @@ const char * nm_device_get_iface (NMDevice *device); const char * nm_device_get_ip_iface (NMDevice *device); NMDeviceType nm_device_get_device_type (NMDevice *device); const char * nm_device_get_udi (NMDevice *device); +NM_AVAILABLE_IN_1_26 +const char * nm_device_get_path (NMDevice *device); const char * nm_device_get_driver (NMDevice *device); const char * nm_device_get_driver_version (NMDevice *device); const char * nm_device_get_firmware_version (NMDevice *device); diff --git a/libnm/nm-libnm-aux/README.md b/libnm/nm-libnm-aux/README.md new file mode 100644 index 00000000..460b269e --- /dev/null +++ b/libnm/nm-libnm-aux/README.md @@ -0,0 +1,15 @@ +nm-libnm-aux is a static library that: + + - uses the public parts of "libnm" + - that can also be statically linked into other users of libnm. + +Basically, it is a static library with utility functions that extends +libnm. + +That means: + + - you can use it everywhere where you dynamically link with libnm. + +Also, since nm-libnm-aux itself only uses public (stable) +API of libnm, you theoretically can copy the sources into your +own source tree. diff --git a/libnm/nm-libnm-aux/nm-libnm-aux.c b/libnm/nm-libnm-aux/nm-libnm-aux.c new file mode 100644 index 00000000..169416b9 --- /dev/null +++ b/libnm/nm-libnm-aux/nm-libnm-aux.c @@ -0,0 +1,146 @@ +// SPDX-License-Identifier: LGPL-2.1+ + +#include "nm-default.h" + +#include "nm-libnm-aux.h" + +/*****************************************************************************/ + +NMClient * +nmc_client_new_async_valist (GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data, + const char *first_property_name, + va_list ap) +{ + NMClient *nmc; + + nmc = NM_CLIENT (g_object_new_valist (NM_TYPE_CLIENT, first_property_name, ap)); + g_async_initable_init_async (G_ASYNC_INITABLE (nmc), + G_PRIORITY_DEFAULT, + cancellable, + callback, + user_data); + return nmc; +} + +NMClient * +nmc_client_new_async (GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data, + const char *first_property_name, + ...) +{ + NMClient *nmc; + va_list ap; + + va_start (ap, first_property_name); + nmc = nmc_client_new_async_valist (cancellable, + callback, + user_data, + first_property_name, + ap); + va_end (ap); + return nmc; +} + +/*****************************************************************************/ + +typedef struct { + GMainLoop *main_loop; + NMClient *nmc; + GError *error; +} ClientCreateData; + +static void +_nmc_client_new_waitsync_cb (GObject *source_object, + GAsyncResult *result, + gpointer user_data) +{ + ClientCreateData *data = user_data; + + g_async_initable_init_finish (G_ASYNC_INITABLE (source_object), + result, + &data->error); + g_main_loop_quit (data->main_loop); +} + +/** + * nmc_client_new: + * @cancellable: the cancellable to abort the creation. + * @out_nmc: (out): (transfer full): if give, transfers a reference + * to the NMClient instance. Note that this never fails to create + * the NMClient GObject, but depending on the return value, + * the instance was successfully initialized or not. + * @error: the error if creation fails. + * @first_property_name: the name of the first property + * @...: the value of the first property, followed optionally by more + * name/value pairs, followed by %NULL + * + * Returns: %TRUE, if the client was successfully initalized. + * + * This uses nm_client_new_async() to create a NMClient instance, + * but it iterates the current GMainContext until the client is + * ready. As such, it waits for the client creation to complete + * (like sync nm_client_new()) but it iterates the caller's GMainContext + * (unlike sync nm_client_new()). This is often preferable, because + * sync nm_client_new() needs to create an additional internal GMainContext + * that it can iterate instead. That has a performance overhead that + * is often unnecessary. + */ +gboolean +nmc_client_new_waitsync (GCancellable *cancellable, + NMClient **out_nmc, + GError **error, + const char *first_property_name, + ...) +{ + gs_unref_object NMClient *nmc = NULL; + nm_auto_unref_gmainloop GMainLoop *main_loop = g_main_loop_new (g_main_context_get_thread_default (), FALSE); + ClientCreateData data = { + .main_loop = main_loop, + }; + va_list ap; + +#if NM_MORE_ASSERTS > 10 + /* The sync initialization of NMClient is generally a bad idea, because it + * brings the overhead of an additional GMainContext. Anyway, since our own + * code no longer uses that, we hardly test those code paths. But they should + * work just the same. Randomly use instead the sync initialization in a debug + * build... */ + if ((g_random_int () % 2) == 0) { + gboolean success; + + va_start (ap, first_property_name); + nmc = NM_CLIENT (g_object_new_valist (NM_TYPE_CLIENT, first_property_name, ap)); + va_end (ap); + + /* iterate the context at least once, just so that the behavior from POV of the + * caller is roughly the same. */ + g_main_context_iteration (nm_client_get_main_context (nmc), FALSE); + + success = g_initable_init (G_INITABLE (nmc), + cancellable, + error); + NM_SET_OUT (out_nmc, g_steal_pointer (&nmc)); + return success; + } +#endif + + va_start (ap, first_property_name); + nmc = nmc_client_new_async_valist (cancellable, + _nmc_client_new_waitsync_cb, + &data, + first_property_name, + ap); + va_end (ap); + + g_main_loop_run (main_loop); + + NM_SET_OUT (out_nmc, g_steal_pointer (&nmc)); + if (data.error) { + g_propagate_error (error, data.error); + return FALSE; + } + return TRUE; +} diff --git a/libnm/nm-libnm-aux/nm-libnm-aux.h b/libnm/nm-libnm-aux/nm-libnm-aux.h new file mode 100644 index 00000000..a0aff19f --- /dev/null +++ b/libnm/nm-libnm-aux/nm-libnm-aux.h @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: LGPL-2.1+ + +#ifndef __NM_LIBNM_AUX_H__ +#define __NM_LIBNM_AUX_H__ + +NMClient *nmc_client_new_async_valist (GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data, + const char *first_property_name, + va_list ap); + +NMClient *nmc_client_new_async (GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data, + const char *first_property_name, + ...); + +gboolean nmc_client_new_waitsync (GCancellable *cancellable, + NMClient **out_nmc, + GError **error, + const char *first_property_name, + ...); + +#endif /* __NM_LIBNM_AUX_H__ */ diff --git a/libnm/nm-libnm-utils.c b/libnm/nm-libnm-utils.c index 7b4db11e..f8d1ff56 100644 --- a/libnm/nm-libnm-utils.c +++ b/libnm/nm-libnm-utils.c @@ -139,7 +139,7 @@ _fixup_string (const char *desc, return NULL; /* restore original non-UTF-8-safe text. */ - desc_full = nm_utils_str_utf8safe_unescape_cp (desc); + desc_full = nm_utils_str_utf8safe_unescape_cp (desc, NM_UTILS_STR_UTF8_SAFE_FLAG_NONE); /* replace all invalid UTF-8 bytes with space. */ p = desc_full; diff --git a/libnm/nm-property-docs.xml b/libnm/nm-property-docs.xml deleted file mode 100644 index a7b663ce..00000000 --- a/libnm/nm-property-docs.xml +++ /dev/null @@ -1,500 +0,0 @@ - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libnm/nm-property-infos-dbus.xml b/libnm/nm-property-infos-dbus.xml new file mode 100644 index 00000000..5321aebe --- /dev/null +++ b/libnm/nm-property-infos-dbus.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libnm/nm-property-infos-ifcfg-rh.xml b/libnm/nm-property-infos-ifcfg-rh.xml new file mode 100644 index 00000000..55c9baf8 --- /dev/null +++ b/libnm/nm-property-infos-ifcfg-rh.xml @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libnm/nm-property-infos-keyfile.xml b/libnm/nm-property-infos-keyfile.xml new file mode 100644 index 00000000..950a7790 --- /dev/null +++ b/libnm/nm-property-infos-keyfile.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libnm/nm-property-infos-nmcli.xml b/libnm/nm-property-infos-nmcli.xml new file mode 100644 index 00000000..a9b3b205 --- /dev/null +++ b/libnm/nm-property-infos-nmcli.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libnm/nm-settings-docs-gir.xml b/libnm/nm-settings-docs-gir.xml new file mode 100644 index 00000000..521c45fc --- /dev/null +++ b/libnm/nm-settings-docs-gir.xml @@ -0,0 +1,513 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libnm/nm-settings-docs-overrides.xml b/libnm/nm-settings-docs-overrides.xml deleted file mode 100644 index 7442dbd0..00000000 --- a/libnm/nm-settings-docs-overrides.xml +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libnm/nm-settings-docs.xml b/libnm/nm-settings-docs.xml deleted file mode 100644 index 20298684..00000000 --- a/libnm/nm-settings-docs.xml +++ /dev/null @@ -1,512 +0,0 @@ - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libnm/nm-settings-ifcfg-rh-docs.xml b/libnm/nm-settings-ifcfg-rh-docs.xml deleted file mode 100644 index c03738dd..00000000 --- a/libnm/nm-settings-ifcfg-rh-docs.xml +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libnm/nm-settings-keyfile-docs.xml b/libnm/nm-settings-keyfile-docs.xml deleted file mode 100644 index 3a1891e8..00000000 --- a/libnm/nm-settings-keyfile-docs.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file -- cgit 1.3.0-6-gf8a5 From 10ae7d8cd706062742d0cdb1803d49909aef9e06 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Mon, 29 Jun 2020 22:15:58 +0200 Subject: New upstream version 1.25.91 --- libnm/nm-client.c | 2 +- libnm/nm-device-6lowpan.c | 2 +- libnm/nm-device-bond.c | 2 +- libnm/nm-device-bridge.c | 2 +- libnm/nm-device-bt.c | 2 +- libnm/nm-device-dummy.c | 2 +- libnm/nm-device-ethernet.c | 2 +- libnm/nm-device-generic.c | 2 +- libnm/nm-device-infiniband.c | 2 +- libnm/nm-device-macsec.c | 2 +- libnm/nm-device-macvlan.c | 2 +- libnm/nm-device-olpc-mesh.c | 2 +- libnm/nm-device-team.c | 2 +- libnm/nm-device-tun.c | 2 +- libnm/nm-device-vlan.c | 2 +- libnm/nm-device-vxlan.c | 2 +- libnm/nm-device-wifi-p2p.c | 2 +- libnm/nm-device-wifi.c | 2 +- libnm/nm-device-wpan.c | 2 +- libnm/nm-settings-docs-gir.xml | 270 ++++++++++++++++++++--------------------- 20 files changed, 154 insertions(+), 154 deletions(-) (limited to 'libnm') diff --git a/libnm/nm-client.c b/libnm/nm-client.c index 604a510d..d7f61152 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -4576,7 +4576,7 @@ nm_client_check_connectivity_finish (NMClient *client, guint32 connectivity; g_return_val_if_fail (NM_IS_CLIENT (client), NM_CONNECTIVITY_UNKNOWN); - g_return_val_if_fail (nm_g_task_is_valid (client, result, nm_client_check_connectivity_async), NM_CONNECTIVITY_UNKNOWN); + g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_check_connectivity_async), NM_CONNECTIVITY_UNKNOWN); ret = g_task_propagate_pointer (G_TASK (result), error); if (!ret) diff --git a/libnm/nm-device-6lowpan.c b/libnm/nm-device-6lowpan.c index 0b428c2d..b4f37849 100644 --- a/libnm/nm-device-6lowpan.c +++ b/libnm/nm-device-6lowpan.c @@ -51,7 +51,7 @@ nm_device_6lowpan_get_parent (NMDevice6Lowpan *device) } /** - * nm_device_6lowpan_get_hw_address: + * nm_device_6lowpan_get_hw_address: (skip) * @device: a #NMDevice6Lowpan * * Gets the hardware (MAC) address of the #NMDevice6Lowpan diff --git a/libnm/nm-device-bond.c b/libnm/nm-device-bond.c index cb236af9..ebc438a9 100644 --- a/libnm/nm-device-bond.c +++ b/libnm/nm-device-bond.c @@ -42,7 +42,7 @@ G_DEFINE_TYPE (NMDeviceBond, nm_device_bond, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_bond_get_hw_address: + * nm_device_bond_get_hw_address: (skip) * @device: a #NMDeviceBond * * Gets the hardware (MAC) address of the #NMDeviceBond diff --git a/libnm/nm-device-bridge.c b/libnm/nm-device-bridge.c index 977db146..9552c2df 100644 --- a/libnm/nm-device-bridge.c +++ b/libnm/nm-device-bridge.c @@ -41,7 +41,7 @@ G_DEFINE_TYPE (NMDeviceBridge, nm_device_bridge, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_bridge_get_hw_address: + * nm_device_bridge_get_hw_address: (skip) * @device: a #NMDeviceBridge * * Gets the hardware (MAC) address of the #NMDeviceBridge diff --git a/libnm/nm-device-bt.c b/libnm/nm-device-bt.c index 8df95265..e8dc02ff 100644 --- a/libnm/nm-device-bt.c +++ b/libnm/nm-device-bt.c @@ -42,7 +42,7 @@ G_DEFINE_TYPE (NMDeviceBt, nm_device_bt, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_bt_get_hw_address: + * nm_device_bt_get_hw_address: (skip) * @device: a #NMDeviceBt * * Gets the hardware (MAC) address of the #NMDeviceBt diff --git a/libnm/nm-device-dummy.c b/libnm/nm-device-dummy.c index 3bf8e09f..4b62fbf0 100644 --- a/libnm/nm-device-dummy.c +++ b/libnm/nm-device-dummy.c @@ -28,7 +28,7 @@ G_DEFINE_TYPE (NMDeviceDummy, nm_device_dummy, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_dummy_get_hw_address: + * nm_device_dummy_get_hw_address: (skip) * @device: a #NMDeviceDummy * * Gets the hardware (MAC) address of the #NMDeviceDummy diff --git a/libnm/nm-device-ethernet.c b/libnm/nm-device-ethernet.c index 944f7b81..7152784a 100644 --- a/libnm/nm-device-ethernet.c +++ b/libnm/nm-device-ethernet.c @@ -46,7 +46,7 @@ G_DEFINE_TYPE (NMDeviceEthernet, nm_device_ethernet, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_ethernet_get_hw_address: + * nm_device_ethernet_get_hw_address: (skip) * @device: a #NMDeviceEthernet * * Gets the active hardware (MAC) address of the #NMDeviceEthernet diff --git a/libnm/nm-device-generic.c b/libnm/nm-device-generic.c index 3751cb51..2b9c96a8 100644 --- a/libnm/nm-device-generic.c +++ b/libnm/nm-device-generic.c @@ -37,7 +37,7 @@ G_DEFINE_TYPE (NMDeviceGeneric, nm_device_generic, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_generic_get_hw_address: + * nm_device_generic_get_hw_address: (skip) * @device: a #NMDeviceGeneric * * Gets the hardware address of the #NMDeviceGeneric diff --git a/libnm/nm-device-infiniband.c b/libnm/nm-device-infiniband.c index ad47c2ed..194bb199 100644 --- a/libnm/nm-device-infiniband.c +++ b/libnm/nm-device-infiniband.c @@ -38,7 +38,7 @@ G_DEFINE_TYPE (NMDeviceInfiniband, nm_device_infiniband, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_infiniband_get_hw_address: + * nm_device_infiniband_get_hw_address: (skip) * @device: a #NMDeviceInfiniband * * Gets the hardware (MAC) address of the #NMDeviceInfiniband diff --git a/libnm/nm-device-macsec.c b/libnm/nm-device-macsec.c index d8352f9c..1396cb66 100644 --- a/libnm/nm-device-macsec.c +++ b/libnm/nm-device-macsec.c @@ -77,7 +77,7 @@ nm_device_macsec_get_parent (NMDeviceMacsec *device) } /** - * nm_device_macsec_get_hw_address: + * nm_device_macsec_get_hw_address: (skip) * @device: a #NMDeviceMacsec * * Gets the hardware (MAC) address of the #NMDeviceMacsec diff --git a/libnm/nm-device-macvlan.c b/libnm/nm-device-macvlan.c index 83dc0e25..3b3ce115 100644 --- a/libnm/nm-device-macvlan.c +++ b/libnm/nm-device-macvlan.c @@ -116,7 +116,7 @@ nm_device_macvlan_get_tap (NMDeviceMacvlan *device) } /** - * nm_device_macvlan_get_hw_address: + * nm_device_macvlan_get_hw_address: (skip) * @device: a #NMDeviceMacvlan * * Gets the hardware (MAC) address of the #NMDeviceMacvlan diff --git a/libnm/nm-device-olpc-mesh.c b/libnm/nm-device-olpc-mesh.c index d6fa03f1..ebdce2a8 100644 --- a/libnm/nm-device-olpc-mesh.c +++ b/libnm/nm-device-olpc-mesh.c @@ -40,7 +40,7 @@ G_DEFINE_TYPE (NMDeviceOlpcMesh, nm_device_olpc_mesh, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_olpc_mesh_get_hw_address: + * nm_device_olpc_mesh_get_hw_address: (skip) * @device: a #NMDeviceOlpcMesh * * Gets the hardware (MAC) address of the #NMDeviceOlpcMesh diff --git a/libnm/nm-device-team.c b/libnm/nm-device-team.c index 5e97a7df..08588665 100644 --- a/libnm/nm-device-team.c +++ b/libnm/nm-device-team.c @@ -43,7 +43,7 @@ G_DEFINE_TYPE (NMDeviceTeam, nm_device_team, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_team_get_hw_address: + * nm_device_team_get_hw_address: (skip) * @device: a #NMDeviceTeam * * Gets the hardware (MAC) address of the #NMDeviceTeam diff --git a/libnm/nm-device-tun.c b/libnm/nm-device-tun.c index 26e4a318..e7ea07fa 100644 --- a/libnm/nm-device-tun.c +++ b/libnm/nm-device-tun.c @@ -50,7 +50,7 @@ G_DEFINE_TYPE (NMDeviceTun, nm_device_tun, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_tun_get_hw_address: + * nm_device_tun_get_hw_address: (skip) * @device: a #NMDeviceTun * * Gets the hardware (MAC) address of the #NMDeviceTun diff --git a/libnm/nm-device-vlan.c b/libnm/nm-device-vlan.c index fdc21936..5debf789 100644 --- a/libnm/nm-device-vlan.c +++ b/libnm/nm-device-vlan.c @@ -43,7 +43,7 @@ G_DEFINE_TYPE (NMDeviceVlan, nm_device_vlan, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_vlan_get_hw_address: + * nm_device_vlan_get_hw_address: (skip) * @device: a #NMDeviceVlan * * Gets the hardware (MAC) address of the #NMDeviceVlan diff --git a/libnm/nm-device-vxlan.c b/libnm/nm-device-vxlan.c index c048a980..9c8e4fc9 100644 --- a/libnm/nm-device-vxlan.c +++ b/libnm/nm-device-vxlan.c @@ -69,7 +69,7 @@ G_DEFINE_TYPE (NMDeviceVxlan, nm_device_vxlan, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_vxlan_get_hw_address: + * nm_device_vxlan_get_hw_address: (skip) * @device: a #NMDeviceVxlan * * Gets the hardware (MAC) address of the #NMDeviceVxlan diff --git a/libnm/nm-device-wifi-p2p.c b/libnm/nm-device-wifi-p2p.c index 972983d1..9927ee87 100644 --- a/libnm/nm-device-wifi-p2p.c +++ b/libnm/nm-device-wifi-p2p.c @@ -51,7 +51,7 @@ G_DEFINE_TYPE (NMDeviceWifiP2P, nm_device_wifi_p2p, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_wifi_p2p_get_hw_address: + * nm_device_wifi_p2p_get_hw_address: (skip) * @device: a #NMDeviceWifiP2P * * Gets the actual hardware (MAC) address of the #NMDeviceWifiP2P diff --git a/libnm/nm-device-wifi.c b/libnm/nm-device-wifi.c index 5c12b676..5d7feca3 100644 --- a/libnm/nm-device-wifi.c +++ b/libnm/nm-device-wifi.c @@ -65,7 +65,7 @@ G_DEFINE_TYPE (NMDeviceWifi, nm_device_wifi, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_wifi_get_hw_address: + * nm_device_wifi_get_hw_address: (skip) * @device: a #NMDeviceWifi * * Gets the actual hardware (MAC) address of the #NMDeviceWifi diff --git a/libnm/nm-device-wpan.c b/libnm/nm-device-wpan.c index 9cbf4ae0..8a52e031 100644 --- a/libnm/nm-device-wpan.c +++ b/libnm/nm-device-wpan.c @@ -25,7 +25,7 @@ G_DEFINE_TYPE (NMDeviceWpan, nm_device_wpan, NM_TYPE_DEVICE) /*****************************************************************************/ /** - * nm_device_wpan_get_hw_address: + * nm_device_wpan_get_hw_address: (skip) * @device: a #NMDeviceWpan * * Gets the active hardware (MAC) address of the #NMDeviceWpan diff --git a/libnm/nm-settings-docs-gir.xml b/libnm/nm-settings-docs-gir.xml index 521c45fc..56ae4251 100644 --- a/libnm/nm-settings-docs-gir.xml +++ b/libnm/nm-settings-docs-gir.xml @@ -5,30 +5,30 @@ - + - + - + - + - + - + - + - - + + - + @@ -38,62 +38,62 @@ - - - + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - + + - - - + + + - - - - + + + + - - + + - + - - + + - + - + - - + + - + @@ -104,11 +104,11 @@ - + - - + + @@ -119,7 +119,7 @@ - + @@ -128,7 +128,7 @@ - + @@ -137,17 +137,17 @@ - + - - + + - + - + @@ -172,39 +172,39 @@ - + - - - + + + - - - + + + - - + + - - + + - + - - + + - + @@ -215,21 +215,21 @@ - + - - + + - + - - + + - + @@ -255,25 +255,25 @@ - + - + - + - - - - + + + + @@ -281,8 +281,8 @@ - - + + @@ -291,23 +291,23 @@ - + - + - + - + - + @@ -315,19 +315,19 @@ - + - + - + - + @@ -339,10 +339,10 @@ - + - + @@ -360,7 +360,7 @@ - + @@ -392,11 +392,11 @@ - + - - + + @@ -437,76 +437,76 @@ - - - - + + + + - - - - - + + + + + - + - + - - - + + + - + - + - + - + - - - - - - + + + + + + - + - - + + - - - - - + + + + + - + - + -- cgit 1.3.0-6-gf8a5