<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <include name="NMClient" version="1.0"/>
  <include name="NetworkManager" version="1.0"/>
  <package name="libnma"/>
  <namespace name="NMA"
             version="1.0"
             shared-library="libnma.so.0"
             c:identifier-prefixes="NMA"
             c:symbol-prefixes="nma">
    <record name="CountryInfo"
            c:type="NMACountryInfo"
            glib:type-name="NMACountryInfo"
            glib:get-type="nma_country_info_get_type"
            c:symbol-prefix="country_info">
      <method name="get_country_code"
              c:identifier="nma_country_info_get_country_code">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the code of the country.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="country_info" transfer-ownership="none">
            <doc xml:space="preserve">a #NMACountryInfo</doc>
            <type name="CountryInfo" c:type="NMACountryInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_country_name"
              c:identifier="nma_country_info_get_country_name">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the name of the country.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="country_info" transfer-ownership="none">
            <doc xml:space="preserve">a #NMACountryInfo</doc>
            <type name="CountryInfo" c:type="NMACountryInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_providers"
              c:identifier="nma_country_info_get_providers">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the
 list of #NMAMobileProvider this country exposes.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="MobileProvider"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="country_info" transfer-ownership="none">
            <doc xml:space="preserve">a #NMACountryInfo</doc>
            <type name="CountryInfo" c:type="NMACountryInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="nma_country_info_ref">
        <return-value transfer-ownership="full">
          <type name="CountryInfo" c:type="NMACountryInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="country_info" transfer-ownership="none">
            <type name="CountryInfo" c:type="NMACountryInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="nma_country_info_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="country_info" transfer-ownership="none">
            <type name="CountryInfo" c:type="NMACountryInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="MobileAccessMethod"
            c:type="NMAMobileAccessMethod"
            glib:type-name="NMAMobileAccessMethod"
            glib:get-type="nma_mobile_access_method_get_type"
            c:symbol-prefix="mobile_access_method">
      <method name="get_3gpp_apn"
              c:identifier="nma_mobile_access_method_get_3gpp_apn">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the 3GPP APN.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileAccessMethod</doc>
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dns" c:identifier="nma_mobile_access_method_get_dns">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the list of DNS.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileAccessMethod</doc>
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_family"
              c:identifier="nma_mobile_access_method_get_family">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #NMAMobileFamily.</doc>
          <type name="MobileFamily" c:type="NMAMobileFamily"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileAccessMethod</doc>
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gateway"
              c:identifier="nma_mobile_access_method_get_gateway">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the gateway.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileAccessMethod</doc>
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="nma_mobile_access_method_get_name">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the name of the method.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileAccessMethod</doc>
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password"
              c:identifier="nma_mobile_access_method_get_password">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the password.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileAccessMethod</doc>
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_username"
              c:identifier="nma_mobile_access_method_get_username">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the username.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileAccessMethod</doc>
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="nma_mobile_access_method_ref">
        <return-value transfer-ownership="full">
          <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="nma_mobile_access_method_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="method" transfer-ownership="none">
            <type name="MobileAccessMethod" c:type="NMAMobileAccessMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="MobileFamily" c:type="NMAMobileFamily">
      <member name="unknown"
              value="0"
              c:identifier="NMA_MOBILE_FAMILY_UNKNOWN">
        <doc xml:space="preserve">Unknown or invalid network access method</doc>
      </member>
      <member name="3gpp" value="1" c:identifier="NMA_MOBILE_FAMILY_3GPP">
        <doc xml:space="preserve">3rd Generation Partnership Project (3GPP) network</doc>
      </member>
      <member name="cdma" value="2" c:identifier="NMA_MOBILE_FAMILY_CDMA">
        <doc xml:space="preserve">A CDMA network</doc>
      </member>
    </enumeration>
    <record name="MobileProvider"
            c:type="NMAMobileProvider"
            glib:type-name="NMAMobileProvider"
            glib:get-type="nma_mobile_provider_get_type"
            c:symbol-prefix="mobile_provider">
      <method name="get_3gpp_mcc_mnc"
              c:identifier="nma_mobile_provider_get_3gpp_mcc_mnc">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a
 list of strings with the MCC and MNC codes this provider exposes.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvider</doc>
            <type name="MobileProvider" c:type="NMAMobileProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cdma_sid"
              c:identifier="nma_mobile_provider_get_cdma_sid">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the
 list of CDMA SIDs this provider exposes</doc>
          <array c:type="guint32*">
            <type name="guint32"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvider</doc>
            <type name="MobileProvider" c:type="NMAMobileProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_methods"
              c:identifier="nma_mobile_provider_get_methods">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the
 list of #NMAMobileAccessMethod this provider exposes.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="MobileAccessMethod"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvider</doc>
            <type name="MobileProvider" c:type="NMAMobileProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="nma_mobile_provider_get_name">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the name of the provider.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvider</doc>
            <type name="MobileProvider" c:type="NMAMobileProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="nma_mobile_provider_ref">
        <return-value transfer-ownership="full">
          <type name="MobileProvider" c:type="NMAMobileProvider*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <type name="MobileProvider" c:type="NMAMobileProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="nma_mobile_provider_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <type name="MobileProvider" c:type="NMAMobileProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="MobileProvidersDatabase"
           c:symbol-prefix="mobile_providers_database"
           c:type="NMAMobileProvidersDatabase"
           parent="GObject.Object"
           glib:type-name="NMAMobileProvidersDatabase"
           glib:get-type="nma_mobile_providers_database_get_type"
           glib:type-struct="MobileProvidersDatabaseClass">
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.Initable"/>
      <constructor name="new_finish"
                   c:identifier="nma_mobile_providers_database_new_finish"
                   throws="1">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed object or %NULL if @error is set.</doc>
          <type name="MobileProvidersDatabase"
                c:type="NMAMobileProvidersDatabase*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to nma_mobile_providers_database_new().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_sync"
                   c:identifier="nma_mobile_providers_database_new_sync"
                   throws="1">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed object or %NULL if @error is set.</doc>
          <type name="MobileProvidersDatabase"
                c:type="NMAMobileProvidersDatabase*"/>
        </return-value>
        <parameters>
          <parameter name="country_codes"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">Path to the country codes file.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="service_providers"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">Path to the service providers file.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="new" c:identifier="nma_mobile_providers_database_new">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="country_codes"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">Path to the country codes file.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="service_providers"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">Path to the service providers file.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="dump" c:identifier="nma_mobile_providers_database_dump">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvidersDatabase.</doc>
            <type name="MobileProvidersDatabase"
                  c:type="NMAMobileProvidersDatabase*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_countries"
              c:identifier="nma_mobile_providers_database_get_countries">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a
 hash table where keys are country names #gchar and values are #NMACountryInfo.</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="utf8"/>
            <type name="CountryInfo"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvidersDatabase.</doc>
            <type name="MobileProvidersDatabase"
                  c:type="NMAMobileProvidersDatabase*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lookup_3gpp_mcc_mnc"
              c:identifier="nma_mobile_providers_database_lookup_3gpp_mcc_mnc">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #NMAMobileProvider or %NULL if not found.</doc>
          <type name="MobileProvider" c:type="NMAMobileProvider*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvidersDatabase.</doc>
            <type name="MobileProvidersDatabase"
                  c:type="NMAMobileProvidersDatabase*"/>
          </instance-parameter>
          <parameter name="mccmnc" transfer-ownership="none">
            <doc xml:space="preserve">the MCC/MNC string to look for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_cdma_sid"
              c:identifier="nma_mobile_providers_database_lookup_cdma_sid">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #NMAMobileProvider, or %NULL if not found.</doc>
          <type name="MobileProvider" c:type="NMAMobileProvider*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvidersDatabase.</doc>
            <type name="MobileProvidersDatabase"
                  c:type="NMAMobileProvidersDatabase*"/>
          </instance-parameter>
          <parameter name="sid" transfer-ownership="none">
            <doc xml:space="preserve">the SID to look for.</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_country"
              c:identifier="nma_mobile_providers_database_lookup_country">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #NMACountryInfo or %NULL if not found.</doc>
          <type name="CountryInfo" c:type="NMACountryInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #NMAMobileProvidersDatabase.</doc>
            <type name="MobileProvidersDatabase"
                  c:type="NMAMobileProvidersDatabase*"/>
          </instance-parameter>
          <parameter name="country_code" transfer-ownership="none">
            <doc xml:space="preserve">the country code string to look for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="country-codes"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="service-providers"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MobileProvidersDatabasePrivate"
              c:type="NMAMobileProvidersDatabasePrivate*"/>
      </field>
    </class>
    <record name="MobileProvidersDatabaseClass"
            c:type="NMAMobileProvidersDatabaseClass"
            glib:is-gtype-struct-for="MobileProvidersDatabase">
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MobileProvidersDatabasePrivate"
            c:type="NMAMobileProvidersDatabasePrivate"
            disguised="1">
    </record>
    <record name="MobileWizard" c:type="NMAMobileWizard" disguised="1">
      <method name="destroy" c:identifier="nma_mobile_wizard_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MobileWizard" c:type="NMAMobileWizard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="present" c:identifier="nma_mobile_wizard_present">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="wizard" transfer-ownership="none">
            <type name="MobileWizard" c:type="NMAMobileWizard*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="new"
                c:identifier="nma_mobile_wizard_new"
                introspectable="0">
        <return-value>
          <doc xml:space="preserve">the newly created #NMAMobileWizard</doc>
          <type name="MobileWizard" c:type="NMAMobileWizard*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="window_group" transfer-ownership="none">
            <type name="Gtk.WindowGroup" c:type="GtkWindowGroup*"/>
          </parameter>
          <parameter name="modem_caps" transfer-ownership="none">
            <type name="NetworkManager.DeviceModemCapabilities"
                  c:type="NMDeviceModemCapabilities"/>
          </parameter>
          <parameter name="will_connect_after" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="cb"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <type name="MobileWizardCallback"
                  c:type="NMAMobileWizardCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="MobileWizardAccessMethod"
            c:type="NMAMobileWizardAccessMethod">
      <doc xml:space="preserve">Network access method details.</doc>
      <field name="provider_name" writable="1">
        <doc xml:space="preserve">The mobile network provider name</doc>
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="plan_name" writable="1">
        <doc xml:space="preserve">The provided network access billing plan</doc>
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="devtype" writable="1">
        <doc xml:space="preserve">Required NetworkManager device capabilities</doc>
        <type name="NetworkManager.DeviceModemCapabilities"
              c:type="NMDeviceModemCapabilities"/>
      </field>
      <field name="username" writable="1">
        <doc xml:space="preserve">User login</doc>
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="password" writable="1">
        <doc xml:space="preserve">User secret</doc>
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="gsm_apn" writable="1">
        <doc xml:space="preserve">The GSM Access Point Name</doc>
        <type name="utf8" c:type="char*"/>
      </field>
    </record>
    <callback name="MobileWizardCallback" c:type="NMAMobileWizardCallback">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="self" transfer-ownership="none">
          <type name="MobileWizard" c:type="NMAMobileWizard*"/>
        </parameter>
        <parameter name="canceled" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="method" transfer-ownership="none">
          <type name="MobileWizardAccessMethod"
                c:type="NMAMobileWizardAccessMethod*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="VpnPasswordDialog"
           c:symbol-prefix="vpn_password_dialog"
           c:type="NMAVpnPasswordDialog"
           parent="Gtk.Dialog"
           glib:type-name="NMAVpnPasswordDialog"
           glib:get-type="nma_vpn_password_dialog_get_type"
           glib:type-struct="VpnPasswordDialogClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="nma_vpn_password_dialog_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="focus_password"
              c:identifier="nma_vpn_password_dialog_focus_password">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="focus_password_secondary"
              c:identifier="nma_vpn_password_dialog_focus_password_secondary">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="focus_password_ternary"
              c:identifier="nma_vpn_password_dialog_focus_password_ternary">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password"
              c:identifier="nma_vpn_password_dialog_get_password">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password_secondary"
              c:identifier="nma_vpn_password_dialog_get_password_secondary">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password_ternary"
              c:identifier="nma_vpn_password_dialog_get_password_ternary">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="run_and_block"
              c:identifier="nma_vpn_password_dialog_run_and_block">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_password"
              c:identifier="nma_vpn_password_dialog_set_password">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="password" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_label"
              c:identifier="nma_vpn_password_dialog_set_password_label">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_secondary"
              c:identifier="nma_vpn_password_dialog_set_password_secondary">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="password_secondary" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_secondary_label"
              c:identifier="nma_vpn_password_dialog_set_password_secondary_label">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_ternary"
              c:identifier="nma_vpn_password_dialog_set_password_ternary">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="password_ternary" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_ternary_label"
              c:identifier="nma_vpn_password_dialog_set_password_ternary_label">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_password"
              c:identifier="nma_vpn_password_dialog_set_show_password">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_password_secondary"
              c:identifier="nma_vpn_password_dialog_set_show_password_secondary">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_password_ternary"
              c:identifier="nma_vpn_password_dialog_set_show_password_ternary">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="VpnPasswordDialog" c:type="NMAVpnPasswordDialog*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="VpnPasswordDialogClass"
            c:type="NMAVpnPasswordDialogClass"
            glib:is-gtype-struct-for="VpnPasswordDialog">
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <class name="WifiDialog"
           c:symbol-prefix="wifi_dialog"
           c:type="NMAWifiDialog"
           parent="Gtk.Dialog"
           glib:type-name="NMAWifiDialog"
           glib:get-type="nma_wifi_dialog_get_type"
           glib:type-struct="WifiDialogClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="nma_wifi_dialog_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="client" transfer-ownership="none">
            <type name="NMClient.Client" c:type="NMClient*"/>
          </parameter>
          <parameter name="connection" transfer-ownership="none">
            <type name="NetworkManager.Connection" c:type="NMConnection*"/>
          </parameter>
          <parameter name="device" transfer-ownership="none">
            <type name="NMClient.Device" c:type="NMDevice*"/>
          </parameter>
          <parameter name="ap" transfer-ownership="none">
            <type name="NMClient.AccessPoint" c:type="NMAccessPoint*"/>
          </parameter>
          <parameter name="secrets_only" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_create"
                   c:identifier="nma_wifi_dialog_new_for_create">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="client" transfer-ownership="none">
            <type name="NMClient.Client" c:type="NMClient*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_hidden"
                   c:identifier="nma_wifi_dialog_new_for_hidden">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="client" transfer-ownership="none">
            <type name="NMClient.Client" c:type="NMClient*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_other"
                   c:identifier="nma_wifi_dialog_new_for_other">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="client" transfer-ownership="none">
            <type name="NMClient.Client" c:type="NMClient*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_connection"
              c:identifier="nma_wifi_dialog_get_connection">
        <return-value transfer-ownership="full">
          <type name="NetworkManager.Connection" c:type="NMConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">an #NMAWifiDialog</doc>
            <type name="WifiDialog" c:type="NMAWifiDialog*"/>
          </instance-parameter>
          <parameter name="device"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <type name="NMClient.Device" c:type="NMDevice**"/>
          </parameter>
          <parameter name="ap"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <type name="NMClient.AccessPoint" c:type="NMAccessPoint**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_nag_ignored"
              c:identifier="nma_wifi_dialog_get_nag_ignored">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="WifiDialog" c:type="NMAWifiDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="nag_user" c:identifier="nma_wifi_dialog_nag_user">
        <return-value transfer-ownership="full">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="WifiDialog" c:type="NMAWifiDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_nag_ignored"
              c:identifier="nma_wifi_dialog_set_nag_ignored">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="WifiDialog" c:type="NMAWifiDialog*"/>
          </instance-parameter>
          <parameter name="ignored" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="WifiDialogClass"
            c:type="NMAWifiDialogClass"
            glib:is-gtype-struct-for="WifiDialog">
      <field name="parent">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <function name="mobile_providers_split_3gpp_mcc_mnc"
              c:identifier="nma_mobile_providers_split_3gpp_mcc_mnc">
      <doc xml:space="preserve">Splits the input MCCMNC string into separate MCC and MNC strings.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if correctly split and @mcc and @mnc are set; %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="mccmnc" transfer-ownership="none">
          <doc xml:space="preserve">input MCCMNC string.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="mcc"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">the MCC.</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="mnc"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">the MNC.</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="mobile_wizard_new"
              c:identifier="nma_mobile_wizard_new"
              moved-to="MobileWizard.new"
              introspectable="0">
      <return-value>
        <doc xml:space="preserve">the newly created #NMAMobileWizard</doc>
        <type name="MobileWizard" c:type="NMAMobileWizard*"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="window_group" transfer-ownership="none">
          <type name="Gtk.WindowGroup" c:type="GtkWindowGroup*"/>
        </parameter>
        <parameter name="modem_caps" transfer-ownership="none">
          <type name="NetworkManager.DeviceModemCapabilities"
                c:type="NMDeviceModemCapabilities"/>
        </parameter>
        <parameter name="will_connect_after" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="cb"
                   transfer-ownership="none"
                   scope="async"
                   closure="5">
          <type name="MobileWizardCallback" c:type="NMAMobileWizardCallback"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_to_secret_flags"
              c:identifier="nma_utils_menu_to_secret_flags">
      <doc xml:space="preserve">Returns secret flags corresponding to the selected password storage menu
in the attached icon</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">secret flags corresponding to the active item in password menu</doc>
        <type name="NetworkManager.SettingSecretFlags"
              c:type="NMSettingSecretFlags"/>
      </return-value>
      <parameters>
        <parameter name="passwd_entry" transfer-ownership="none">
          <doc xml:space="preserve">password #GtkEntry which the password icon/menu is attached to</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_setup_password_storage"
              c:identifier="nma_utils_setup_password_storage">
      <doc xml:space="preserve">Adds a secondary icon and creates a popup menu for password entry.
The active menu item is set up according to initial_flags, or
from @setting/@password_flags_name (if they are not NULL).
If the @setting/@password_flags_name are not NULL, secret flags will
be automatically updated in the setting when menu is changed.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="passwd_entry" transfer-ownership="none">
          <doc xml:space="preserve">password #GtkEntry which the icon is attached to</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="initial_flags" transfer-ownership="none">
          <doc xml:space="preserve">initial secret flags to setup password menu from</doc>
          <type name="NetworkManager.SettingSecretFlags"
                c:type="NMSettingSecretFlags"/>
        </parameter>
        <parameter name="setting" transfer-ownership="none">
          <doc xml:space="preserve">#NMSetting containing the password, or NULL</doc>
          <type name="NetworkManager.Setting" c:type="NMSetting*"/>
        </parameter>
        <parameter name="password_flags_name" transfer-ownership="none">
          <doc xml:space="preserve">name of the secret flags (like psk-flags), or NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="with_not_required" transfer-ownership="none">
          <doc xml:space="preserve">whether to include "Not required" menu item</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="ask_mode" transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the entrie is shown in ASK mode. That means,
  while prompting for a password, contrary to being inside the
  editor mode.
  If %TRUE, the entry should be sensivive on selected "always-ask"
  icon (this is e.f. for nm-applet asking for password), otherwise
  not.
  If %TRUE, it shall not be possible to select a different storage,
  because we only prompt for a password, we cannot change the password
  location.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_update_password_storage"
              c:identifier="nma_utils_update_password_storage">
      <doc xml:space="preserve">Updates secret flags in the password storage popup menu and also
in the @setting (if @setting and @password_flags_name are not NULL).</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="passwd_entry" transfer-ownership="none">
          <doc xml:space="preserve">#GtkEntry with the password</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="secret_flags" transfer-ownership="none">
          <doc xml:space="preserve">secret flags to set</doc>
          <type name="NetworkManager.SettingSecretFlags"
                c:type="NMSettingSecretFlags"/>
        </parameter>
        <parameter name="setting" transfer-ownership="none">
          <doc xml:space="preserve">#NMSetting containing the password, or NULL</doc>
          <type name="NetworkManager.Setting" c:type="NMSetting*"/>
        </parameter>
        <parameter name="password_flags_name" transfer-ownership="none">
          <doc xml:space="preserve">name of the secret flags (like psk-flags), or NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
