1. 01 Aug, 2014 10 commits
    • Dan Winship's avatar
      libnm: fix up class struct reserved slots · 2fc55941
      Dan Winship authored
      Add reserved slots to those classes that were missing them (or had run
      out), and sync up the number of slots across classes:
      
        - 8 slots for "important" classes, abstract base classes, and
          classes we expect we might need to add new virtual methods or
          signals to later.
      
        - 4 for everything else
      
      Also, rearrange the class elements in a few places into standard order
      (signals first, then methods).
      2fc55941
    • Dan Winship's avatar
      libnm-core, etc: move NMSecretAgentCapabilities to NetworkManager.h · bdda66a8
      Dan Winship authored
      NMSecretAgentCapabilities was being defined in both
      libnm/nm-secret-agent.h and in src/settings/nm-secret-agent.h. Since
      it's part of the D-Bus interface, move it to
      libnm-core/nm-dbus-interface.h.
      bdda66a8
    • Dan Winship's avatar
      include: drop nm-settings-flags.h, move NMSecretAgentGetSecretsFlags · dc1b7643
      Dan Winship authored
      For some reason, the flags used by o.fd.NM.SecretAgent.GetSecrets were
      defined as both NMSecretAgentGetSecretsFlags in
      libnm{,-glib}/nm-secret-agent.h, and then separately as
      NMSettingsGetSecretsFlags in include/nm-settings-flags.h.
      (NMSettingsGetSecretsFlags also had an additional internal-use-only
      value, but that was added later after the duplication already
      existed.)
      
      Fix this by moving NMSecretAgentGetSecretsFlags from libnm to
      nm-dbus-interface.h, adding the internal-use-only value to it as well,
      updating the core code to use that, and then removing
      nm-settings-flags.h.
      dc1b7643
    • Dan Winship's avatar
    • Dan Winship's avatar
      libnm: consistently use "INTERFACE" rather than "IFACE" in macros · f441cf2b
      Dan Winship authored
      Most D-Bus interface name macros used "INTERFACE" in their name (eg,
      NM_DBUS_INTERFACE), but a few used "IFACE" instead (eg,
      NM_DBUS_IFACE_SETTINGS). Make them consistent.
      f441cf2b
    • Dan Winship's avatar
      libnm, core, cli, tui: fix the capitalization of various types · 3ac0f528
      Dan Winship authored
      GLib/Gtk have mostly settled on the convention that two-letter
      acronyms in type names remain all-caps (eg, "IO"), but longer acronyms
      become initial-caps-only (eg, "Tcp").
      
      NM was inconsistent, with most long acronyms using initial caps only
      (Adsl, Cdma, Dcb, Gsm, Olpc, Vlan), but others using all caps (DHCP,
      PPP, PPPOE, VPN). Fix libnm and src/ to use initial-caps only for all
      three-or-more-letter-long acronyms (and update nmcli and nmtui for the
      libnm changes).
      3ac0f528
    • Dan Winship's avatar
      libnm: remove Since tags and NM_AVAILABLE_IN_* attributes · b4ae6eae
      Dan Winship authored
      Everything currently in libnm has always been there.
      b4ae6eae
    • Dan Winship's avatar
      libnm: remove all deprecated functions and types · 054c12ea
      Dan Winship authored
      Remove deprecated functions and enum types.
      
      For now, deprecated properties are still around, because removing them
      would cause warnings when talking to older implementations.
      054c12ea
    • Dan Winship's avatar
      libnm: add libnm/libnm-core (part 2) · eedcf185
      Dan Winship authored
      This fixes up the code from the previous "clean" import, and adds
      build infrastructure.
      
      [There are two slightly orthogonal sets of changes in this patch.
      First, the files added in the previous commit were modified as followed:
      
        # Replace internal references to "libnm-util" and "libnm-glib" with "libnm"
        perl -pi -e 's/libnm-(util|glib)/libnm/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch]
      
        # Fix includes of the enum-types files
        perl -pi -e 's/nm-utils-enum-types/nm-core-enum-types/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch]
        perl -pi -e 's/nm-glib-enum-types/nm-enum-types/;' libnm/*.[ch] libnm/tests/*.[ch]
      
        # Fix some python example code
        perl -pi -e 's/import NMClient/import NM/;' -e 's/NMClient.Client\(\)/NM.Client()/;' libnm/nm-client.c
      
      Then, the build infrastructure was added (without further modifying
      any existing files in libnm-core or libnm.)
      
      Note: to regenerate libnm.ver after rebase:
        (head -2 libnm-util/libnm-util.ver; (grep -h '\s'nm_ libnm-util/libnm-util.ver libnm-glib/libnm-glib.ver | env LANG=C sort); tail -3 libnm-util/libnm-util.ver) > libnm/libnm.ver
      ]
      eedcf185
    • Dan Winship's avatar
      libnm: add libnm/libnm-core (part 1) · d595f784
      Dan Winship authored
      This commit begins creating the new "libnm", which will replace
      libnm-util and libnm-glib.
      
      The main reason for the libnm-util/libnm-glib split is that the daemon
      needs to link to libnm-util (to get NMSettings, NMConnection, etc),
      but can't link to libnm-glib (because it uses many of the same type
      names as the NetworkManager daemon. eg, NMDevice). So the daemon links
      to only libnm-util, but basically all clients link to both.
      
      With libnm, there will be only a single client-visible library, and
      NetworkManager will internally link against a private "libnm-core"
      containing the parts that used to be in libnm-util.
      
      (The "libnm-core" parts still need to be in their own directory so
      that the daemon can see those header files without also seeing the
      ones in libnm/ that conflict with its own headers.)
      
      [This commit just copies the source code from libnm-util/ to
      libnm-core/, and libnm-glib/ to libnm/:
      
        mkdir -p libnm-core/tests/
        mkdir -p libnm/tests/
        cp libnm-util/*.[ch] libnm-util/nm-version.h.in libnm-core/
        rm -f libnm-core/nm-version.h libnm-core/nm-setting-template.[ch] libnm-core/nm-utils-enum-types.[ch]
        cp libnm-util/tests/*.[ch] libnm-core/tests/
        cp libnm-glib/*.[ch] libnm/
        rm -f libnm/libnm_glib.[ch] libnm/libnm-glib-test.c libnm/nm-glib-enum-types.[ch]
        cp libnm-glib/tests/*.[ch] libnm/tests/
      
      ]
      d595f784